sequelize.js - 应用迁移后 Sequelize 不更新元表

标签 sequelize.js database-migration sequelize-cli

我不知道我是否在这里遗漏了一个步骤或其他什么,但是 sequelize 在我运行迁移后没有更新 SequelizeMeta 表。

如果我运行 db:migrate:status,我会发现我的所有迁移都“向上”,但最后一个甚至没有出现在输出中。

我必须手动更新此表吗?

[ 编辑 ]

我一直在更仔细地查看 sequelize db:migrate 命令的输出:

Executing (default): INSERT INTO "SequelizeMeta" ("name") VALUES ('20180827001615-updatePersonIdColumn.js') RETURNING *;

ERROR: null value in column "createdAt" violates not-null constraint

看起来“createAt”列没有默认值。这是正常的吗?

最佳答案

从您的错误来看,SequelizeMeta 似乎有一个错误的方案(有一列名为“createdAt”)。

您的“SequelizeMeta”表应该只有一列名为“name”。如果您手动创建了方案并添加了 createdAt 列,您最终可以更改您的表,使 createdAt 列默认为“now()”,这样您就可以跟踪进行迁移的时间。

关于sequelize.js - 应用迁移后 Sequelize 不更新元表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52031407/

相关文章:

node.js - 自定义查询的不一致的 Sequelize 查询构造

node.js - Sequelize : isNewRecord is always false

mysql - 从 MSSQL 迁移到 MYSQL 错误 1064 MYSQL Workbench

java - flyway 4.0 java base回调afterValidate没有捕获钩子(Hook)

javascript - 通过 id 数组获取数据

javascript - Node JS API Sequelize PostgreSQL UUID 作为主键返回错误 "column Nan does not exist"

Node.js:图像 src 导致错误,重新运行数据库语句并且不显示替代文本

sequelize.js - Sequelize中定义belongsTo关系时as和foreignKey的区别

ruby-on-rails - Rails 5:向模型添加带有自定义名称的belongs_to关联,然后进行迁移

mysql - 如何在sequelize中更新多行