如何在迁移文件中记下函数(knex.js)
How to write down function in migration file (knex.js)
我一直在想如何在迁移文件中写down
函数。理想情况下,它应该与我们在 up
方法中所做的完全相反。现在假设我编写了 up
函数来删除列上的 unique
约束,向 table 添加了一些新行(具有重复数据),现在我想回滚迁移。理想情况下,我会编写 down
方法在列上再次添加唯一约束,但迁移不会回滚,因为 table 现在包含重复数据。
所以我的问题是 -
- 遇到这种情况怎么办?
- 如何在迁移中编写
down
函数?
- 在这种情况下,我可以将
down
函数留空吗?
谢谢。
我通常根本不写函数,只留空。
我从不回滚迁移,如果我想回到较早的数据库状态,我只是从备份中恢复整个数据库。
如果我只想放回唯一约束,我将编写另一个向上迁移来修复重复行,然后再添加回唯一约束。
我知道很多人在测试之间使用回滚来重置数据库,但这样做真的很慢。
我一直在想如何在迁移文件中写down
函数。理想情况下,它应该与我们在 up
方法中所做的完全相反。现在假设我编写了 up
函数来删除列上的 unique
约束,向 table 添加了一些新行(具有重复数据),现在我想回滚迁移。理想情况下,我会编写 down
方法在列上再次添加唯一约束,但迁移不会回滚,因为 table 现在包含重复数据。
所以我的问题是 -
- 遇到这种情况怎么办?
- 如何在迁移中编写
down
函数? - 在这种情况下,我可以将
down
函数留空吗?
谢谢。
我通常根本不写函数,只留空。
我从不回滚迁移,如果我想回到较早的数据库状态,我只是从备份中恢复整个数据库。
如果我只想放回唯一约束,我将编写另一个向上迁移来修复重复行,然后再添加回唯一约束。
我知道很多人在测试之间使用回滚来重置数据库,但这样做真的很慢。