仅运行下一个迁移文件

Aut*_*ico 8 migrate sequelize-cli

是否可以使用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
Run Code Online (Sandbox Code Playgroud)

我想只运行20170316142544-create-an-index.js.

当然,我可以删除所有相关文件.然后我逐个添加每个迁移,在每个迁移之间运行"所有"迁移.但这似乎是野蛮的.

Fah*_*eem 16

我是从 Google 来到这里的,但在 doc 中找不到任何选项。但是,CLI 会sequelize-cli db:migrate --help显示一个选项,用于选择要运行的迁移范围。

他们是:

--to Migration name to run migrations until
--from Migration name to start migrations from (excluding)
Run Code Online (Sandbox Code Playgroud)

显然,您需要提供确切的文件名而不是迁移名称。(在源代码中找到)

域名注册地址:

npx sequelize-cli db:migrate --from will-not-be-included.js --to filename.js
Run Code Online (Sandbox Code Playgroud)

  • 只需要 `--to` 选项:`npx Sequelize-cli db:migrate --to filename.js` (5认同)

vfl*_*l1x 7

我想这个问题已经有了答案,但有些人仍然感到困惑。我将尝试对这个具体问题给出直接的答案:

npx sequelize-cli db:migrate --to 20170316142544-create-an-index.js
Run Code Online (Sandbox Code Playgroud)

在这种特定情况下,无需添加选项--from,因为这20170316142544-create-an-index.js是要应用的下一个迁移。

但如果问题是:

我只想运行20170421112638-do-some-refactor.js

然后,您必须使用该选项--from来跳转所有其他迁移,直到所需的迁移。在这种情况下:

npx sequelize-cli db:migrate --from 20170316142544-create-an-index.js --to 20170421112638-do-some-refactor.js
Run Code Online (Sandbox Code Playgroud)


Shu*_*rma 2

事实是,Sequelize 只执行那些尚未执行的迁移,即挂起的迁移。

这意味着当您运行命令sequelize:migrate时,它只会执行那些仍处于待处理状态的命令。