尝试在 sql-server 上迁移时 Flyway 挂起
Posted
技术标签:
【中文标题】尝试在 sql-server 上迁移时 Flyway 挂起【英文标题】:Flyway hangs when trying to migrate on sql-server 【发布时间】:2013-01-08 16:47:23 【问题描述】:编辑:我可以从 flyway 命令行工具运行相同的配置,但不能从 ant 任务运行。
我有一个可在我的 oracle 数据库上运行的 flyway 配置。我正在我的 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\database-build.properties
解析构建文件 jar:file:../apache-ant-1.8.2/lib/ant-contrib-1.0b3.jar!/net/sf/antcontrib/antlib.xml 与 URI = jar:file:.. /apache-ant-1.8.2/lib/ant-contrib-1.0b3.jar!/net/sf/antcontrib/antlib.xml 来自 zip 文件
[属性] 正在加载 ..database\database-placeholders-testclient.properties
-验证:
-回声:
[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
数据库信息:
使用 URI = jar:file 解析构建文件 jar:file:../apache-ant-1.8.2/lib/flyway-ant-2.0.3.jar!/com/googlecode/flyway/ant/antlib.xml :../apache-ant-1.8.2/lib/flyway-ant-2.0.3.jar!/com/googlecode/flyway/ant/antlib.xml 来自 zip 文件
[flyway:info] 数据库:Microsoft SQL Server 10.50
[flyway:info] 支持的 DDL 事务:true
【问题讨论】:
您能否发布来自 ant run 的调试日志以及您的 Flyway 配置本身?谢谢。 我发现了问题。我的 ant 环境使用 Java build 1.6.0_29 并且在通过命令行使用 flyway 时使用的是 Java build 1.6.0_37 。当我将我的 ant 环境更改为 1.6.0_37 时,它起作用了。我正在使用 Microsoft JDBC 驱动程序 4.0。 【参考方案1】:我发现了问题。我的 ant 环境使用 Java build 1.6.0_29 并且在通过命令行使用 flyway 时使用的是 Java build 1.6.0_37 。当我将我的 ant 环境更改为 1.6.0_37 时,它起作用了。我正在使用 Microsoft JDBC Driver 4.0。
【讨论】:
以上是关于尝试在 sql-server 上迁移时 Flyway 挂起的主要内容,如果未能解决你的问题,请参考以下文章
FlywayDB:迁移失败并显示“执行语句错误”,但手动运行迁移 SQL 代码有效
Flyway 3.1 数据库迁移多个模式 - Oracle 11g