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列将添加到迁移文件中,但不会添加到模型文件中。您可能需要参考日志。旧的一个,但真正深入的理解。