gpt4 book ai didi

flyway - 这是 Flyway 用例吗

转载 作者:行者123 更新时间:2023-12-01 22:57:29 25 4
gpt4 key购买 nike

我已将产品交付给客户。现在我已经升级了产品,其中包括对数据库的更改。

客户想要升级产品。现在 Flyway 将帮助客户数据从旧版本迁移到新版本。如果这是一个有效的用例,请告诉我。 flyway 文档仅讨论其在开发期间的使用。

最佳答案

Flyway 允许您通过按定义的顺序运行一组脚本来更改数据库。这些脚本称为“迁移”,因为它们允许您将数据库从一个版本“迁移”到另一个版本。

我们的想法是,您可以从一个空数据库开始,每个迁移脚本都会依次将该数据库从空数据库提升到当前版本。但是,也可以通过创建“基线”迁移从现有数据库开始。

作为SudhirR说,Flyway 的主要用例是定义模式更改。但是,也完全可以更改数据。由于 Flyway 只是运行纯 SQL,原则上,几乎所有您可以在 SQL 脚本中执行的操作也可以在 Flyway 迁移中执行。

在您描述的情况下,应该可以使用 Flyway 迁移客户数据库。您可以采取的步骤是:

  • 生成包含生产数据库的整个 DDL(包括索引、触发器、过程...)的 sql 脚本。为此,您需要为数据库中存在的所有引用数据添加插入语句。
  • 将此脚本保存在您的 Flyway 项目中,类似于“V1__base_version.sql”
  • 对您的生产数据库运行 flyway baseline 命令
    • 这将设置您的生产数据库以用于 Flyway
  • 添加新的迁移脚本以将您客户的数据迁移到新版本
    • 例如创建新表,将旧表中的数据复制到新表中,删除旧表
  • 运行flyway migrate升级生产

这些步骤改编自 Flyway 文档页面 here .

当然你应该阅读 Flyway docs并在对生产运行任何操作之前在一次性数据库上手动测试。不过,我认为原则上 Flyway 可能非常适合您的用例。

关于flyway - 这是 Flyway 用例吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58182865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com