首页 > 解决方案 > 使用 Flyway 等数据库迁移工具播种数据是一种好习惯吗?

问题描述

我们正在为我们的项目设置 Flyway,我们正在重新考虑是否要使用 Flyway 迁移或手动使用 sql 控制台或一些引导脚本来播种数据。

我们担心的是,如果我们在 Flyway 中添加种子数据,这意味着对这些数据的进一步修改也需要在 Flyway 中。而且我们可能需要使用"where field = x"在某个时间点可能已经无效的其他条件,因为应用程序可以更改数据。这将是有问题的。

在他们的文档中,我看不到任何建议不要播种数据的内容。

我只是想知道使用 Flyway 等迁移工具播种数据是否是个好主意。

标签: database-migrationflyway

解决方案


最适合的通常是参考数据,答案是肯定的。对于用户可修改的数据,这取决于。如果最初在所有环境中都需要这些数据,那么答案可能也是肯定的。归根结底,如果 where 条件在以后的某个环境中不再成立,这可能也意味着您无论如何都不想覆盖该数据。或者您需要为所有行分配固定的合成和不可变 id,以便您以后可以随时参考,即使面对数据更改也是如此。


推荐阅读