【发布时间】:2017-09-21 07:41:36
【问题描述】:
是否可以使用 sequelize-cli 只运行下一个迁移文件?
我一直在浏览 cli 的文档和帮助部分,但它似乎没有这样的功能。
例如,我在运行sequelize db:migrate:status 命令时出现以下情况;
Loaded configuration file "config/config.js".
Using environment "development".
up 20170301090141-create-something.js
up 20170301133113-create-else.js
up 20170301133821-Update-some-stuff.js
up 20170301135339-create-some-model.js
up 20170307152706-update-some-stuff-two.js
down 20170316142544-create-an-index.js
down 20170421112638-do-some-refactor.js
我只想运行20170316142544-create-an-index.js。
当然,我可以删除所有相关文件。然后我将每个迁移一个接一个地添加回来,在每个迁移之间运行“所有”迁移。但这似乎太野蛮了。
【问题讨论】:
-
当您运行
sequelize:migrate命令时,sequelize 将仅运行仍待处理的迁移(即之前从未运行过的迁移)。为了跟踪运行的内容,sequelize 使用数据库中的一个表。但是,没有办法只运行特定的迁移文件。 -
@JulienKlepatch 太糟糕了。有时这正是您想要做的,一次只运行一个。我解决了我的问题,将不需要的那些从文件夹中移出,并通过一次复制一个来运行“一个接一个”。
-
我明白了。另一种可能性是为
sequelize db:migrate命令指定一个带有--migrations-path标志的不同迁移文件夹
标签: migrate sequelize-cli