gpt4 book ai didi

maven - 开发和生产中的迁移迁移

转载 作者:行者123 更新时间:2023-12-01 07:30:19 25 4
gpt4 key购买 nike

我正在寻找一种在生产和开发中进行不同迁移的方法。

我想用 Maven 创建一个 Spring Web 应用程序。
在开发中,我想更新数据库架构和负载测试数据。
在生产中部署新版本的应用程序时,我只想更改架构而不加载测试数据。

我的第一个想法是将架构更新和插入语句保存到不同的文件夹中。

我想每个人都解决了这个问题,可以帮助我,非常感谢。

最佳答案

基本上,您有两种选择:

您可以在 flyway.locations 属性中使用不同的位置进行迁移,即:

测试用

flyway.locations=sql/structure,sql/test

生产用
flyway.locations=sql/structure

这样,您将测试数据包含在 sql/test 文件夹中。当然,您必须注意编号。

第二个选项(我更喜欢的选项)是根本不要在迁移中包含测试数据。

相反,以您想要的任何方式创建您的测试数据,并创建此数据的 sql-dump,您将其与迁移分开。

如果您有一个包含原始测试数据的单独数据库(实例、模式等),这将最有效,您可以在其中应用每个迁移作为构建过程的一部分。然后,此构建作业可以创建始终与当前迁移匹配的转储。

准备测试机器时,首先应用迁移,然后加载匹配转储的内容。

我认为这比第一个版本干净很多,特别是因为您的测试数据可以使用其他工具(您的应用程序)准备并且不必手动编码。

关于maven - 开发和生产中的迁移迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22077460/

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