Node.js sequelize模型:generate没有id主键,但迁移脚本有
我通过下面的命令生成一个模型Node.js sequelize模型:generate没有id主键,但迁移脚本有,node.js,sequelize.js,sequelize-cli,Node.js,Sequelize.js,Sequelize Cli,我通过下面的命令生成一个模型 npx sequelize-cli model:generate --name TestModel --attributes name:string,workgroup:string,country:string,email:string 执行后,将生成一个迁移文件和一个模型文件。迁移文件包含以下代码- 'use strict'; module.exports = { up: (queryInterface, Sequelize) => { re
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
但是,在模型文件中,我只能看到命令中提到的字段,而不能看到主键ID字段,如下所示-
'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;
};
我必须手动将主键添加到模型文件中,还是可以按原样使用?顺便说一下,当我测试时,这些生成的文件不会产生任何问题 使用CLI进行迁移时,id、createdAt和updatedAt列将添加到迁移文件中,但不会添加到模型文件中。您可能需要参考日志。旧的一个,但真正深入的理解。