flyway相关内容

“特定于数据库"的最佳方式Flyway的SQL脚本

我开始在当前项目中使用Flyway进行数据库迁移,我非常喜欢它.我目前在PROD-和Derby的TEST环境中使用Oracle. 很快,我确实遇到了特定于数据库的sql命令的问题,例如 ALTER TABLE T1 MODIFY F1 VARCHAR(256); on Oracle vs ALTER TABLE T1 ALTER F1 SET DATA TYPE VARCHAR(25 ..
发布时间:2020-11-09 06:12:23 其他开发

占位符如何在Flyway中工作?

我正在评估在我的项目中使用的Flyway.我们当前的SQL脚本包含URL之类的占位符,这些URL会根据环境(dev,qa,prod)而具有不同的域名. 具体来说,我们可能会有类似INSERT的语句 INSERT INTO FEED VALUES ('app.${env.token}.company.org/feed1', 'My Feed'); $ {env.token}需要替换为 ..
发布时间:2020-11-09 06:12:20 其他开发

可以“压缩"任何方式.飞路迁移?

我们正在使用Flyway迁移数据库架构,我们已经有100多个迁移脚本. 一旦我们将多个迁移“压缩"到一个第一版迁移中,那么在开发过程中就可以了,因为我们删除并重新创建了架构.但是在生产中这是行不通的,因为Flyway无法验证迁移. 在这种情况下,我找不到任何文档或最佳实践.问题在于文件数量不断增加,我不想每次都看到成千上万个迁移文件,本质上是如果生产已经是最新版本.我的意思是,版本号低 ..
发布时间:2020-11-09 06:12:17 其他开发

如何将多个文件合并到单个flyway迁移中?

我有两个sql文件 / migrations v1.0.0__geo-areas-tables.sql v1.0.0__geo-areas-data.sql 这些文件与迁移的版本相同。如何在迁移1.0.0的限制内应用它们? P.s。我不想使用其他脚本将这些文件合并为一个。 解决方案 规则很简单:一个版本=一个脚本。 在您的情况下,您 ..
发布时间:2020-10-16 04:53:38 其他开发

通过SBT中的系统属性指定flywayUrl

将 Flyway 与 sbt 如何通过系统属性( -D )而不是 flywayUrl 来指定通过 build.sbt ? 我想通过命令行运行迁移,并指定所有参数(驱动程序,URL ,用户,密码),而无需在 build.sbt 中定义它们。 插件文档页面似乎表明这应该可行: 优先顺序 系统属性>插件配置 我尝试过这样运行: sbt -Dflyway.url = ..
发布时间:2020-10-16 04:53:08 其他开发

关于使用schema_version表的Flyway 5.0.7警告

我们使用Flyway Gradle插件离线进行迁移(即,在系统关闭时进行迁移)。我们最近升级到Flyway 5.0.7,现在看到迁移警告: 找不到架构历史记录表 XXXXXXX 。 flyway_schema_history ,但找到了 XXXXXXX 。 schema_version 代替。您之所以会看到此消息,是因为Flyway在5.0.0版中将flyway.table的默认值更改为fl ..
发布时间:2020-10-16 04:48:00 其他开发

鉴于我必须自己编写迁移脚本,因此Flyway可提供什么价值?

在我的情况下,我使用生成SQL语句的工具来包含所有数据库init / create语句。 Flyway如何提供超出我的工具所能提供的价值?为什么我要编写手工编码的迁移脚本以使用Flyway? 解决方案 上面的问题混合了应该分开的两件事:将数据库创建的概念与迁移的概念混合在一起。 数据库创建 给出一个完整的数据库和一个空数据库,您可以使用许多工具来生成重新创建没有内容的完整数据库 ..
发布时间:2020-10-16 01:25:05 其他开发

Flyway在jar文件中找不到迁移

我在支持的许多应用程序中实现了Flyway,并且像梦一样运作。 但是,一旦我将应用程序部署到测试环境,迁移就会停止 经过一番调查,我发现当迁移文件加载到jar文件中时,它们不是由Flyway定位的,而是当它们没有压缩时(例如我正在Eclipse中工作,或者如果我将jar提取到类路径中,它会按预期工作。 由于应用程序的插件体系结构,我无法使用使用“默认”设置,并以此设置Flyway ..
发布时间:2020-10-02 04:22:57 其他开发

飞路迁移后运行data.sql文件

在我的Spring启动项目中,我通过flyway维护sql/query版本.由于某些原因,我需要加载一些我不想添加到飞行版本中的初始数据.对于这些数据,我正在使用flyway脚本创建相关表.因此,要加载初始数据,我必须在flyway执行该脚本后运行我的data.sql文件. flyway运行其脚本后,如何确保运行我的data.sql文件? 有什么建议吗? 解决方案 data.sql自动针对 ..
发布时间:2020-08-14 09:56:45 数据库

如何忽略Flyway的占位符表达式?

我使用的是flyway 2.3版,我有一个SQL修补程序,该修补程序将varchar插入到具有Flyway视为占位符的字符序列的表中.我想跳过所有占位符并按原样运行脚本. 脚本文件是 insert into test_data (value) values ("${Email}"); Java代码是 package foobar; import com.googlecod ..
发布时间:2020-08-14 01:53:39 Java开发

如何在flyway创建的Postgresql JDBC连接上设置时区?

我有一个postgresql数据库,可以将脚本部署为使用flyway。我使用Maven flyway插件针对目标数据库启动数据库构建。在该版本中,我具有执行以下操作的脚本: 创建表my_table( my_date_time时间戳,时区不为null ); 插入my_table(my_date_time) 中,选择“ 2000-01-01”; postgresql ..
发布时间:2020-05-30 01:39:34 其他开发

BeanCreationException:创建名称为“ flywayInitializer”的bean时出错

我正在尝试在Docker容器中运行项目测试。在本地运行时,所有测试都可以正常工作。当我尝试将测试移至Docker容器时开始出现错误。 这是错误消息: java.lang.IllegalStateException:无法加载ApplicationContext [。 ..] 原因:org.springframework.beans.factory.BeanCreationExcept ..
发布时间:2020-05-30 01:33:43 其他开发

如何使用flyway将数据从一个DB迁移到另一个DB?

我在不同的服务器上有两个postgreSql DB,可以说A和B。 我可以使用flyway一些如何将所有数据从DB A复制到B并重新设置为空。 如果有人指出我正确的方向和工具,这将很有帮助,要求是通过某种工具自动化将数据从一个DB复制到另一个数据库,解决方案中需要考虑大量数据。 解决方案 Flyway不直接支持这种功能。但是,您可以执行以下操作: 如Laurenz所说,请使用 p ..
发布时间:2020-05-30 00:11:38 其他开发

Flyway:迁移频繁更改的功能/存储过程的策略

我的问题是,有没有人找到令人满意的公式来迁移大型且频繁更改的存储过程? 这个问题已涉及到该问题,并且得到了Flyway作者的回应,但已经过了一年,并且主要发布了令人兴奋的新框架钩子已经发布。 我已经对该问题和我当前对此flyway github问题,但我认为我希望能接触到更多的读者。如前所述,我有一个可行的解决方案,但它的方面不完善。 我想知道是否可以在此处充分利用Migrati ..
发布时间:2020-05-29 22:52:46 其他开发

在一个架构中快速运行多个元数据表

我正在尝试使用Flyway对模块化应用程序的数据库进行版本控制。每个模块都有自己独立的表集和迁移脚本,这些脚本将控制该表集的版本控制。 Flyway允许我为每个表指定不同的元数据表模块-这样,我可以独立地对每个模块进行版本控制。尝试升级应用程序时,我为每个模块运行迁移过程,每个模块都有自己的表和脚本集。请注意,这些表都在同一架构中。 但是,当我尝试迁移应用程序时,第一次迁移是唯一可行的 ..
发布时间:2020-05-29 20:10:36 其他开发

除某些表外,还有什么方法可以运行Flyway任务?

我目前正在使用Flyway来管理使用Postgis(PostgreSQL地理空间扩展)的应用程序上的迁移. 此插件使用名为spatial_ref_sys的表,该表也位于应用程序使用的同一模式中,当我调用mvn flyway:clean时,我收到一条错误消息,指示Flyway无法删除此表(该表是使用用户postgres);如果我将所有者更改为我的应用程序数据库用户,则错误将更改为: 错误 ..
发布时间:2020-05-29 19:39:09 其他开发

如何使用Flyway 2.0.1处理Oracle同义词?

我已经使用了很长时间的飞行.非常好/完整的工具! 我实际上正面临着意外情况……我有两种模式: 处理表格和序列的所有者 使用同义词访问所有者对象的用户 该习俗不希望我授予所有者“授予创建任何同义词/删除任何同义词"的权利. 但是我可以为用户提供“授予创建同义词". 所以我需要 创建表格/序列(与所有者连接) 授予选择,删除...到我的用户模式(与所有者连接) 为用 ..
发布时间:2020-05-22 03:12:37 数据库