Sequelize-cli通过扩展model类创建模型



当我使用sequelize-cli创建一个新模型时,它会通过扩展model类自动创建一个模型。我想用sequelize.define语法创建模型。我该如何更改?这是我可以更改的配置吗?

命令

npx sequelize-cli model:generate --name test --attributes first_name:string,last_name:string

所需结果

"use strict";
module.exports = (sequelize, DataTypes) => {
const template = sequelize.define(
"test",
{
first_name: DataTypes.STRING,
last_name: DataTypes.STRING
},
{}
);
test.associate = function(models) {
};
return test;
};

实际结果

'use strict';
const {
Model
} = require('sequelize');
module.exports = (sequelize, DataTypes) => {
class test extends Model {
static associate(models) {

}
}
test.init({
first_name: DataTypes.STRING,
last_name: DataTypes.STRING
}, {
sequelize,
modelName: 'test',
});
return test;
};

不幸的是,使用officiel sequelize cli是没有办法的。实际上,它使用这个硬编码模板来生成模型文件。

唯一的方法是:

  • 创建自己的sequelize-cli分支,并更改此模板文件
  • 要在不使用命令行的情况下手动定义模型(只需复制/粘贴另一个模型,然后替换名称和字段(

最新更新