如何在迁移文件中logging函数(knex.js)

我一直在想如何在迁移文件中写下函数。 理想情况下,它应该与我们正在做的方法完全相反。 现在假设我写up函数来删除列上的unique约束,向表中添加了一些新的行(具有重复的数据),现在我想回滚迁移。 理想情况下,我会写下方法来在列上再次添加唯一约束,但是迁移不会因为表包含重复数据而回滚。 所以我的问题是 –

  • 在这种情况下该怎么办?
  • 如何在迁移中写下函数?
  • 在这种情况下,我可以保持downfunction吗?

谢谢。

我通常不写下function,只是把它们留空。

我从来没有回滚迁移,如果我想要更早的数据库状态,我只是从备份恢复整个数据库。

如果我只是想把唯一的约束放回去,我会写另一个迁移修复重复的行,然后添加唯一的约束。

我知道很多人在testing之间使用回滚来重置数据库,但是这样做的确很慢。