【发布时间】:2019-10-02 22:49:02
【问题描述】:
我已将产品交付给客户。现在我已经升级了产品,其中包括对数据库的更改。
客户想要升级产品。现在 Flyway 将帮助客户数据从旧版本迁移到新版本。如果这是一个有效的用例,请告诉我。 flyway 文档只讨论了它在开发过程中的使用。
【问题讨论】:
-
Flyway 是关于数据库模式迁移的,而您的用例是关于数据迁移的。我认为 Flyway 不适用于您的用例。
标签: flyway
我已将产品交付给客户。现在我已经升级了产品,其中包括对数据库的更改。
客户想要升级产品。现在 Flyway 将帮助客户数据从旧版本迁移到新版本。如果这是一个有效的用例,请告诉我。 flyway 文档只讨论了它在开发过程中的使用。
【问题讨论】:
标签: flyway
Flyway 允许您通过以定义的顺序运行一组脚本来更改数据库。这些脚本称为“迁移”,因为它们允许您将数据库从一个版本“迁移”到另一个版本。
这个想法是您可以从一个空数据库开始,每个迁移脚本都会连续将该数据库从空数据库升级到当前版本。但是,也可以通过创建“基线”迁移从现有数据库开始。
正如SudhirR 所说,Flyway 的主要用例是定义模式更改。但是,也完全可以更改数据。由于 Flyway 只是运行普通 SQL,原则上您可以在 SQL 脚本中执行的几乎所有操作都可以在 Flyway 迁移中执行。
在您描述的情况下,应该可以使用 Flyway 迁移客户数据库。您可以采取的步骤是:
flyway baseline 命令
flyway migrate 升级生产这些步骤改编自 Flyway 文档页面 here。
当然,您应该阅读Flyway docs 并在一次性数据库上手动测试,然后再针对生产运行任何内容。但是,我认为原则上 Flyway 可能非常适合您的用例。
【讨论】: