Модель sequelize: генерировать не имеет первичного ключа id, но скрипт миграции имеет - PullRequest
0 голосов
/ 16 марта 2020

Я генерирую модель с помощью следующей команды

npx sequelize-cli model:generate --name TestModel --attributes name:string,workgroup:string,country:string,email:string

После выполнения генерируется один файл переноса и один файл модели. Файл переноса содержит следующий код -

'use strict';
module.exports = {
  up: (queryInterface, Sequelize) => {
    return queryInterface.createTable('TestModel', {
      id: {
        allowNull: false,
        autoIncrement: true,
        primaryKey: true,
        type: Sequelize.INTEGER
      },
      name: {
        type: Sequelize.STRING
      },
      ...//other fields

Однако в файле модели я вижу только поля, упомянутые в команде, а не поле идентификатора первичного ключа, как показано ниже -

'use strict';
module.exports = (sequelize, DataTypes) => {
  const TestModel = sequelize.define('TestModel', {
    name: DataTypes.STRING,
    workgroup: DataTypes.STRING,
    country: DataTypes.STRING,
    email: DataTypes.STRING
  }, {});
  TestModel.associate = function(models) {
    // associations can be defined here
  };
  return TestModel;
};

Нужно ли вручную добавлять первичный ключ в файл модели, или я могу использовать его как есть? Кстати, когда я тестирую, эти сгенерированные файлы не создают никаких проблем.

...