我不知道我是否在这里遗漏了一个步骤或其他什么,但是 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/