Sql 如何为单个文件运行Sequelize向下迁移
我正在使用Sequelize进行迁移。如果迁移Sql 如何为单个文件运行Sequelize向下迁移,sql,postgresql,sequelize.js,sequelize-cli,Sql,Postgresql,Sequelize.js,Sequelize Cli,我正在使用Sequelize进行迁移。如果迁移up方法抛出错误,则迁移不会作为已完成记录在数据库中。因此,如果我运行db:migrate:undo,它将在上一次(正在工作的)迁移中运行down。因此,我有一个半执行的迁移,其中它的模式保留在数据库中,因为Sequelize永远不会运行相应的down方法。因此,我需要以某种方式强制运行单个方法(我看不到任何选项)。或者,每次运行失败的迁移时,我都需要手动清理我的数据库,这对于复杂的迁移来说是一件非常痛苦的事情,因为我经常要经历反复试验。有没有更简单
up
方法抛出错误,则迁移不会作为已完成记录在数据库中。因此,如果我运行db:migrate:undo
,它将在上一次(正在工作的)迁移中运行down
。因此,我有一个半执行的迁移,其中它的模式保留在数据库中,因为Sequelize永远不会运行相应的down
方法。因此,我需要以某种方式强制运行单个方法(我看不到任何选项)。或者,每次运行失败的迁移时,我都需要手动清理我的数据库,这对于复杂的迁移来说是一件非常痛苦的事情,因为我经常要经历反复试验。有没有更简单的方法 目前还没有办法做到这一点。。。Sequelize cli中存在一个未决问题,请手动将迁移插入到迁移表中,以便Sequelize认为它已完成
要验证,请在编辑表之前和之后检查迁移的状态
db:migrate:status
所有列为“向上”的东西都可以“向下”,反之亦然
sequelize db:migrate:undo --name 20200409091823-example_table.js
使用此选项可撤消任何特定迁移我尝试了一些方法,但效果不错:
- 重命名迁移文件,并确保它按字母顺序排在第一位(使其成为迁移文件中的第一个)
- 第二个迁移文件中的注释代码
- 运行
sequelize db:migrate
这将只运行第一个迁移文件
不要忘记取消注释您之前评论过的迁移文件