我想为现有的应用程序使用flyway。
应该有两种不同的情况:
1)应用程序安装:DDL和数据库初始化
2) 应用程序更新:迁移数据库
问题是如果我安装版本6.0,我有例如:
V1_0_1__CreateShema (for 6.0.0)
V1_0_2__InitData (for 6.0.0)
....
V4_0_0__Update_DDL_and_DML
V5_0_0__Update_DDL_and_DML
V6_0_0__Update_DDL_and_DML
如果我将init version设置为V1.0.0,它将执行直到V6_0_0的所有更新,但是在数据库初始化之后,它将跳过所有更新。
要安装一个旧的shema,这样我就可以使用所有udpate脚本,即使对于全新安装也会非常困难(没有数据库版本历史记录,所以我必须做逆向工程)
我可以使用一种变通方法:
1) Check if version table exist
2) If not - migrate to version 1.0.2
3) drop the version table
4) init again with version 6.0.0
应该有更好的方法,不是吗?
我已经强调了这个问题:
V1 _ 0 _ 1 _ _创建模式(6.0.0版)< br > V1 _ 0 _ 2 _ _初始化数据(6.0.0版)
要达到 6.0,您应该运行所有脚本,最多V6_0_0__Update_DDL_and_DML
V1应该属于V1,以后也不会改变。
我有不使用Flyway的现有数据库postgres,我需要复制它。如何将现有数据库状态移动到新的空数据库?我没有任何迁移sql。所以我期待像Liquibase中的GenerateChangelog这样的命令,但在Flyway中似乎没有这样的命令。
本文向大家介绍SpringBoot使用flyway初始化数据库,包括了SpringBoot使用flyway初始化数据库的使用技巧和注意事项,需要的朋友参考一下 概述 Flyway这款数据库版本工具就算大家没有使用过但也略有耳闻了,SpringBoot对该款工具进行集成的框架可以让我们在启动SpringBoot应用时自动去找SQL版本文件进行比对执行,但在迁移或初始化时往往还是需要先手动进行下数据库
我有一个Java Spring Boot应用程序,在我的Maven pom.xml中将Flyway配置为依赖项(我有一个父pom和一个项目pom...Flyway是在我的项目pom中定义的)。 application.properties中只有几个条目: 我可以运行一个maven任务来让Flyway运行来创建/更新我的数据库,然后针对该数据库运行我的应用程序,但是我很难通过运行我的应用程序(这在p
我有以下docker compose文件(): 以及下面的: 然后执行以下命令: 它会导致错误: 在日志中,我看到以下内容: 看起来flyway在数据库初始化之前启动,因此无法连接到数据库,我看到下面的错误。 我怎样才能解决这个问题? 我谷歌了类似的问题,我找到了以下建议:https://github.com/vishnubob/wait-for-it但我是docker的新手,我不明白如何将其放入
我在读关于Flyway的文件时发现: 如果您有一个尚未被Flyway填充的现有数据库,则可以这样做: 而我的问题是,我可以用特定版本初始化元数据表吗? 诸如此类: 在db/migration文件夹下,我有一些从1.0到1.49的sql脚本;触针位于1.35。其目的是在1.35中初始化prod版本,而不创建初始迁移脚本(由于几个原因,我无法创建它…)并在迁移期间应用1.36到1.49之间的sql脚本
初始化数据 打开MainSetup类,在Daos语句后面插入新建根用户的代码 // 初始化默认根用户 if (dao.count(User.class) == 0) { User user = new User(); user.setName("admin"); user.setPassword