Я генерирую модель с помощью следующей команды
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;
};
Нужно ли вручную добавлять первичный ключ в файл модели, или я могу использовать его как есть? Кстати, когда я тестирую, эти сгенерированные файлы не создают никаких проблем.