flyway相关内容
我开始在当前项目中使用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
..
我正在评估在我的项目中使用的Flyway.我们当前的SQL脚本包含URL之类的占位符,这些URL会根据环境(dev,qa,prod)而具有不同的域名. 具体来说,我们可能会有类似INSERT的语句 INSERT INTO FEED VALUES ('app.${env.token}.company.org/feed1', 'My Feed'); $ {env.token}需要替换为
..
我们正在使用Flyway迁移数据库架构,我们已经有100多个迁移脚本. 一旦我们将多个迁移“压缩"到一个第一版迁移中,那么在开发过程中就可以了,因为我们删除并重新创建了架构.但是在生产中这是行不通的,因为Flyway无法验证迁移. 在这种情况下,我找不到任何文档或最佳实践.问题在于文件数量不断增加,我不想每次都看到成千上万个迁移文件,本质上是如果生产已经是最新版本.我的意思是,版本号低
..
我有一个Dockerfile,它使用gradle构建我的Spring启动应用程序,就在将其处理到容器中并触发它之前。看起来是这样的: 从gradle:5.4.1-jdk8-alpine AS build COPY --chown = gradle:gradle。 / home / gradle / src 工作目录/ home / gradle / src 运行gradle buil
..
我有两个sql文件 / migrations v1.0.0__geo-areas-tables.sql v1.0.0__geo-areas-data.sql 这些文件与迁移的版本相同。如何在迁移1.0.0的限制内应用它们? P.s。我不想使用其他脚本将这些文件合并为一个。 解决方案 规则很简单:一个版本=一个脚本。 在您的情况下,您
..
将 Flyway 与 sbt 如何通过系统属性( -D )而不是 flywayUrl 来指定通过 build.sbt ? 我想通过命令行运行迁移,并指定所有参数(驱动程序,URL ,用户,密码),而无需在 build.sbt 中定义它们。 插件文档页面似乎表明这应该可行: 优先顺序 系统属性>插件配置 我尝试过这样运行: sbt -Dflyway.url =
..
我们使用Flyway Gradle插件离线进行迁移(即,在系统关闭时进行迁移)。我们最近升级到Flyway 5.0.7,现在看到迁移警告: 找不到架构历史记录表 XXXXXXX 。 flyway_schema_history ,但找到了 XXXXXXX 。 schema_version 代替。您之所以会看到此消息,是因为Flyway在5.0.0版中将flyway.table的默认值更改为fl
..
在我的情况下,我使用生成SQL语句的工具来包含所有数据库init / create语句。 Flyway如何提供超出我的工具所能提供的价值?为什么我要编写手工编码的迁移脚本以使用Flyway? 解决方案 上面的问题混合了应该分开的两件事:将数据库创建的概念与迁移的概念混合在一起。 数据库创建 给出一个完整的数据库和一个空数据库,您可以使用许多工具来生成重新创建没有内容的完整数据库
..
我正在使用SQL Server,正在尝试删除一列。 表架构如下: 创建表[dbo]。[XYZ]( [ ID] [int] NOT NULL, [DSC] [varchar](255)NULL, [LOWER_LIMIT] [int] NOT NULL, [UPPER_LIMIT] [int] NOT NULL, 约束[XP_XYZ]主键群集 ( [ID] ASC )WITH(P
..
我在支持的许多应用程序中实现了Flyway,并且像梦一样运作。 但是,一旦我将应用程序部署到测试环境,迁移就会停止 经过一番调查,我发现当迁移文件加载到jar文件中时,它们不是由Flyway定位的,而是当它们没有压缩时(例如我正在Eclipse中工作,或者如果我将jar提取到类路径中,它会按预期工作。 由于应用程序的插件体系结构,我无法使用使用“默认”设置,并以此设置Flyway
..
在我的Spring启动项目中,我通过flyway维护sql/query版本.由于某些原因,我需要加载一些我不想添加到飞行版本中的初始数据.对于这些数据,我正在使用flyway脚本创建相关表.因此,要加载初始数据,我必须在flyway执行该脚本后运行我的data.sql文件. flyway运行其脚本后,如何确保运行我的data.sql文件? 有什么建议吗? 解决方案 data.sql自动针对
..
我使用的是flyway 2.3版,我有一个SQL修补程序,该修补程序将varchar插入到具有Flyway视为占位符的字符序列的表中.我想跳过所有占位符并按原样运行脚本. 脚本文件是 insert into test_data (value) values ("${Email}"); Java代码是 package foobar; import com.googlecod
..
我正在尝试在flyway迁移Java代码中注入配置属性的组件,但它始终为null. 我在Flyway上使用弹簧靴. @Component @ConfigurationProperties(prefix = "code") public class CodesProp { private String codePath; } 然后在Flyway迁移代码中尝试按以下方式自动
..
我有一个postgresql数据库,可以将脚本部署为使用flyway。我使用Maven flyway插件针对目标数据库启动数据库构建。在该版本中,我具有执行以下操作的脚本: 创建表my_table( my_date_time时间戳,时区不为null ); 插入my_table(my_date_time) 中,选择“ 2000-01-01”; postgresql
..
我正在尝试在Docker容器中运行项目测试。在本地运行时,所有测试都可以正常工作。当我尝试将测试移至Docker容器时开始出现错误。 这是错误消息: java.lang.IllegalStateException:无法加载ApplicationContext [。 ..] 原因:org.springframework.beans.factory.BeanCreationExcept
..
我在不同的服务器上有两个postgreSql DB,可以说A和B。 我可以使用flyway一些如何将所有数据从DB A复制到B并重新设置为空。 如果有人指出我正确的方向和工具,这将很有帮助,要求是通过某种工具自动化将数据从一个DB复制到另一个数据库,解决方案中需要考虑大量数据。 解决方案 Flyway不直接支持这种功能。但是,您可以执行以下操作: 如Laurenz所说,请使用 p
..
我的问题是,有没有人找到令人满意的公式来迁移大型且频繁更改的存储过程? 这个问题已涉及到该问题,并且得到了Flyway作者的回应,但已经过了一年,并且主要发布了令人兴奋的新框架钩子已经发布。 我已经对该问题和我当前对此flyway github问题,但我认为我希望能接触到更多的读者。如前所述,我有一个可行的解决方案,但它的方面不完善。 我想知道是否可以在此处充分利用Migrati
..
我正在尝试使用Flyway对模块化应用程序的数据库进行版本控制。每个模块都有自己独立的表集和迁移脚本,这些脚本将控制该表集的版本控制。 Flyway允许我为每个表指定不同的元数据表模块-这样,我可以独立地对每个模块进行版本控制。尝试升级应用程序时,我为每个模块运行迁移过程,每个模块都有自己的表和脚本集。请注意,这些表都在同一架构中。 但是,当我尝试迁移应用程序时,第一次迁移是唯一可行的
..
我目前正在使用Flyway来管理使用Postgis(PostgreSQL地理空间扩展)的应用程序上的迁移. 此插件使用名为spatial_ref_sys的表,该表也位于应用程序使用的同一模式中,当我调用mvn flyway:clean时,我收到一条错误消息,指示Flyway无法删除此表(该表是使用用户postgres);如果我将所有者更改为我的应用程序数据库用户,则错误将更改为: 错误
..
我已经使用了很长时间的飞行.非常好/完整的工具! 我实际上正面临着意外情况……我有两种模式: 处理表格和序列的所有者 使用同义词访问所有者对象的用户 该习俗不希望我授予所有者“授予创建任何同义词/删除任何同义词"的权利. 但是我可以为用户提供“授予创建同义词". 所以我需要 创建表格/序列(与所有者连接) 授予选择,删除...到我的用户模式(与所有者连接) 为用
..