use*_*807 3 database-migration maven flyway
我正在寻找一种在生产和开发中进行不同迁移的方法.
我想用Maven创建一个Spring Web应用程序.在开发中,我想更新数据库架构和加载测试数据.在生产中,当部署新版本的应用程序时,我只想更改架构而不加载测试数据.
我的第一个想法是保存架构更新并将语句插入到不同的文件夹中.
我想每个人都解决了这个问题,可以帮助我,非常感谢你.
基本上,您有两种选择:
您可以在flyway.locations属性中为迁移使用不同的位置,即:
用于测试
flyway.locations=sql/structure,sql/test
Run Code Online (Sandbox Code Playgroud)
用于生产
flyway.locations=sql/structure
Run Code Online (Sandbox Code Playgroud)
这样,您将测试数据包含在sql/test文件夹中.当然,你必须注意编号.
第二个选项(我更喜欢的选项)根本不包括迁移中的测试数据.
而是以您想要的任何方式创建您的testdata并创建此数据的sql-dump,您将其与迁移分开.
如果您有一个包含pristine testdata的单独数据库(实例,模式,等等),那么这种方法最有效,您可以将每个迁移作为构建过程的一部分应用.然后,此构建作业可以创建始终与当前迁移匹配的转储.
准备测试计算机时,首先应用迁移,然后加载匹配转储的内容.
我认为这比第一个版本更清晰,特别是因为您的测试数据可以使用其他工具(您的应用程序)准备,并且不需要手动编码.
| 归档时间: |
|
| 查看次数: |
1857 次 |
| 最近记录: |