如何从 Sequelize 模型自动生成迁移
Posted
技术标签:
【中文标题】如何从 Sequelize 模型自动生成迁移【英文标题】:How to generate migrations automatically from Sequelize models 【发布时间】:2021-03-17 17:49:13 【问题描述】:我刚开始使用 node.js 进行编程。我需要一个 ORM,所以我使用了 Sequelize 库。我编写了我的用户模型如下,我需要为它创建一个迁移。有没有办法从 Sequelize 模型自动创建迁移,而不是自己编写它们?
我尝试了包sequelize-auto-migrations
并运行npx makemigration --name create_users
但它返回错误:
Unexpected token
我正在使用 node v10.19.3
这是我的 Sequelize 模型:
const Model = require('sequelize');
module.exports = (sequelize, DataTypes) =>
class User extends Model
getFullname()
return [ this.firstname, this.lastname ].join(' ');
User.init(
firstName: type: DataTypes.STRING, allowNull: false ,
lastName: type: DataTypes.STRING, allowNull: false ,
email: type: DataTypes.STRING, allowNull: false, unique: true ,
national_number: type: DataTypes.STRING, unique: true ,
phone_number: type: DataTypes.STRING, allowNull: false, unique: true ,
username: type: DataTypes.STRING, allowNull: false, unique: true ,
join_date: type: DataTypes.DATEONLY, defaultValue: sequelize.NOW ,
last_login: type: DataTypes.DATE ,
password: type: DataTypes.STRING, allowNull: false ,
active: type: DataTypes.BOOLEAN, allowNull: false, defaultValue: true
,
sequelize,
modelName: 'User',
);
return User;
;
【问题讨论】:
【参考方案1】:您可能想改用 sequelize-cli。要运行迁移,您必须运行此命令 npx sequelize-cli model:generate
sequelize.com 上的这个链接应该可以帮助https://sequelize.org/master/manual/migrations.html
【讨论】:
我已经看到了那个 URL,但那是为了运行迁移而不是创建。我需要自动创建它们。现在,我每次更改模型时都必须手动创建它们 在链接中说您可以使用此 sequelize-cli 模型创建迁移:generate --name ***.com/questions/27835801/…这个链接会帮助你。以上是关于如何从 Sequelize 模型自动生成迁移的主要内容,如果未能解决你的问题,请参考以下文章
使用 sequelize 和 typescript 进行自动迁移