Как добавить новую запись в базу данных postgresql с помощью паруса v.1? - PullRequest
0 голосов
/ 03 сентября 2018

Я пытаюсь добавить нового пользователя в таблицу пользователей, которая у меня есть в базе данных PostgreSQL. нет проблем, когда я использую метод findOne (), но когда я использую create (), ничего не происходит. вот некоторые из моих настроек:

модели (users.js)

    var bcrypt = require('bcryptjs');
module.exports = {

  tableName: "users",
  attributes: {
    id: {
      type: 'number',
      unique: true,
      autoIncrement: true,
    },
    first_name: {
      type: 'string',
      required: true
    },
    last_name: {
      type: 'string',
      required: true
    },
    email: {
      type: 'string',
      required: true,
      unique: true,
      isEmail: true
    },
    password: {
      type: 'string',
      required: true
    },
  },
}

usersController.js

registerUser: function (req, res) {
bcrypt.hash(req.body.password, 10, function(err, hash) {
    if (err) return res.send('An error occured', 500);

    console.log(hash);
    // Save user to the database
    Users.create({
       first_name: req.body.first_name,
       last_name: req.body.last_name,
       email: req.body.email,
       password: hash
    }).exec(function(err, user){
        if (err) return res.send('An error occured', 500);
        console.log(user)
    })

});
}

и я установил для моего datastore.js файл значение:

    default: {
    adapter: require('sails-postgresql'),
    url: 'postgresql://username:password@host:5432/db-name', 
  },

и, наконец, в моем файле models.js в папке config я установил migrate:'safe' и прокомментировал схему и атрибуты.

    module.exports.models = {

  // schema: false,

  migrate: 'safe',
  attributes: {
    // createdAt: { type: 'number', autoCreatedAt: true, },
    // updatedAt: { type: 'number', autoUpdatedAt: true, },
    // id: { type: 'number', autoIncrement: true, },
    //--------------------------------------------------------------------------
    //  /\   Using MongoDB?
    //  ||   Replace `id` above with this instead:
    //
    // ```
    // id: { type: 'string', columnName: '_id' },
    // ```
    //--------------------------------------------------------------------------
  },
  dataEncryptionKeys: {
    default: '/ZBj9EC29Xb+mNULkmFn3NuYUK9wDLJdWQ4U2lNR7+w='
  },

  cascadeOnDestroy: true
};

Кажется, все в порядке, но я не знаю, в чем проблема?

...