我的 Nodejs 项目使用 sequelizejs
定义了多个模型。以下是 event.js
中事件模型的示例:
const Event = db.define('event', {
id: {type: Sql.INTEGER,
primaryKey:true,
min: 1},
name: {type: Sql.STRING,
min:2,
allowNull: false,
},
event_info: {type: Sql.JSON},
current_step: {type: Sql.STRING},
customer_id: {type: Sql.INTEGER},
access_list: {type: Sql.JSON},
event_snapshot: {type: Sql.JSON},
event_category_id: {type: Sql.INTEGER,
},
status: {type: Sql.STRING,
isIn: ['active', 'cancelled', 'aborted', 'completed']},
last_updated_by_id: {type: Sql.INTEGER},
createdAt: Sql.DATE,
updatedAt: Sql.DATE
});
有没有办法可以在命令行中从 event.js
创建 event
表?
最佳答案
您可以按照 @Chase 提到的那样进行操作,但以我的愚见,您应该为模型和迁移拆分文件。
这样,您将在模型文件(如您拥有的文件)中显示模型的当前状态,并在 Migration 中显示数据库的历史状态。文件。
同步将始终删除任何存在的表并使用模型从头开始创建它们。提到的解决方案确实会创建表或更新它(认为它将先删除然后创建),但您将在此过程中丢失所有数据。通常首选迁移。
关于sequelize.js - 如何从sequelizejs模型定义创建数据库表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55058035/