我们在 AWS 中运营一个使用 Azure 作为数据源的网站。Azure 由来自我们客户的事务复制填充。每 3 或 4 个月发布一次新版本的客户数据库。我的公司不制作这个客户数据库。新版本通常不附带更新脚本,所有客户信息都会被清除,新数据库版本是新创建的。
我如何在这些更新过程中保持云中客户数据的不间断历史记录?我只看到两个选项:为每个版本创建一个新数据库,为每个版本创建一个新架构。第一个会随着时间的推移变得昂贵,第二个感觉很不靠谱。如果这是一件大事,我应该自己制作更新脚本吗?
答案1
由于您需要维护历史数据以及数据库版本控制,因此您可以使用 flyway 创建数据库的基线,然后在获得 DDL 后将其迁移到新版本。Flyway 将为您保留版本历史记录,您可以使用数据库配置文件中的 maven 目标查看升级。不过,您不必使用 maven,您可以使用 flyway 提供的命令行界面。
本质上,它通过使用工具满足了您的第二种选择,因此您可以在不同的环境中重复这些过程(例如 DEV、QA、Staging、PROD)。您只需在迁移过程中使用不同的配置文件即可。
以下是您需要的软件: https://flywaydb.org