当前位置: 首页 > 知识库问答 >
问题:

尝试在sql server上迁移时,Flyway挂起

唐恺
2023-03-14

编辑:我可以从flyway命令行工具运行相同的配置,但不能从ant任务运行。

我有一个flyway配置,可以在我的oracle数据库上运行。我正在SQL Server数据库上设置flyway。当我尝试任何蚂蚁任务时,Flyway会挂起。包括用于测试与数据库连接的信息。

当我运行Flyway时,它似乎挂起来了。当执行任何ant任务时,详细日志将以“[flyway:info]DDL Transactions Supported:true”停止,如我在本文末尾发布的日志末尾所示。Flyway坐在那里,此刻什么也没做。这让我相信它在获取模式方面存在问题。因为如果我记得的话,下一个日志行应该是“[flyway:info]Schema:SchemaName”。

以下是我使用的版本

  • 飞行路线:2.0.4
  • SQL Server:SQL Server 2008 Express R2
  • microsoft jdbc:sqljdbc-4.0

数据库初始化日志:

-初始化:

[属性]正在加载...\数据库\database-build.properties

正在分析构建文件jar:文件:/apache-ant-1.8.2/lib/ant-contrib-1.0b3。罐子/net/sf/antcontrib/antlib。URI=jar的xml:文件:/apache-ant-1.8.2/lib/ant-contrib-1.0b3。罐子/net/sf/antcontrib/antlib。来自zip文件的xml

[property]正在加载。。数据库\数据库占位符testclient。属性

-验证:

-回声:

 [echo] Selected database [platform] for DB migration : mssql
 [echo] Selected database [user] for DB migration : sa
 [echo] Selected database [password] for DB migration : flyway
 [echo] Selected database [schemas] for DB migration : dbo
 [echo] Database [jdbc driver class name] for DB migration : com.microsoft.sqlserver.jdbc.SQLServerDriver
 [echo] Database [connection URL] for DB migration : jdbc:sqlserver://localhost;databaseName=TEST_DB;applicationName=Flyway

数据库信息:

正在分析构建文件jar:文件:/apache-ant-1.8.2/lib/flyway-ant-2.0.3。罐子/com/googlecode/flyway/ant/antlib。URI=jar的xml:文件:/apache-ant-1.8.2/lib/flyway-ant-2.0.3。罐子/com/googlecode/flyway/ant/antlib。来自zip文件的xml

[flyway:info]数据库:Microsoft SQL Server 10.50

[flyway: info]支持的DDL交易:true

共有1个答案

沈英勋
2023-03-14

我发现了问题。我的ant环境使用的是Java build 1.6.0_29,而通过命令行使用的是flyway,它使用的是Java build 1.6.0_37。当我将ant环境更改为1.6.037时,它起到了作用。我使用的是微软JDBC驱动程序4.0。

 类似资料:
  • 我刚刚在配置和充分理解flyway的过程中遇到了这样的情况: 我已成功配置新项目以使用Flyway。 我已成功将测试数据库从版本0迁移到1.0.3。 无法执行到版本1.0.4的迁移。(我试图添加已经存在的列,到目前为止没有问题,是我的错。) 但是,一旦我对相应的脚本进行了必要的更改以使其工作,flyway就会不断显示这样的消息: 由于我不想恢复一个完整的转储并再次应用每一次迁移,只是为了使alte

  • 我似乎搞不懂这个...到目前为止,我们在AWS上使用带有Percona XtraDB集群5.6的Flyway,但是由于RDS提供了更好的性能并且可以配置为高可用性,我们想要切换(我们团队没有mysql组件)。 人们会认为,一旦RDS启动并运行,就应该能够简单地将flyway指向新服务器并进行设置...那就错了! 5个迁移脚本flyway停止后。。。尝试查询DB实际上不起作用,因此假设某种锁定出现了

  • 我们面临一个问题:假设一个开发人员在处理分支a的过程中提供了一个新的迁移版本,比如说V331,同时一个QA人员在另一个分支B的QA环境中进行QA。可能会出现qa环境已经有v331版本的情况,因为几个开发人员可能会在不同的时间在不同的分支上创建相同的版本号……更多的是qa经常在分支之间切换,这就是qa数据库变得混乱的原因,特别是表schema_version,这导致我们手动删除损坏的模式版本,解决旧

  • 我已成功地将spring boot配置为使用Flyway的新项目 随Postgres数据库从版本0001.0迁移到0008.0 我已在本地手动更改脚本,但flyway迁移失败。 错误消息示例: 注意:-我不想从表flyway_schema_history中删除脚本条目。

  • 我们正在Karaf中部署我们的应用程序,并试图使用Flyway来处理数据库迁移,但它在运行时找不到我们的文件。我检查过的东西: > 当我为Flyway启用调试时,我可以看到它在类路径上找到了文件夹,但其中没有文件。 当408与安装的捆绑包匹配时,日志显示它正在查找正确的捆绑包。 我不确定还要查找什么,因为没有记录任何错误,而且它似乎正在查找它应该位于的文件夹,而不是sql文件。我假设这是一个清单类

  • 我正在flyway的CMD中运行命令,但脚本文件的迁移会出现以下异常 [错误]无法执行目标组织。flywaydb:flyway maven插件:3.2.1:在convertopia auto db:org项目上迁移(默认cli)。flywaydb。果心应用程序编程接口。FlywayException:验证失败。迁移1.0.53的迁移描述不匹配[错误]- 我尝试过,它说构建成功,但问题仍然没有解决。