我们计划使用Flyway来管理我们的迁移,因为它可以成为一个非常适合我们需求的强大工具。我们今天拥有的是用于开发的MySQL数据库,以及用于生产周期的mysql-oracle DB。
今天似乎不可能将Flyway与ant集成以处理mysqldump注释指令中的简单注释。它看起来像这样:
/*!50003 CREATE*/ /*!50020 DEFINER=`root`@`localhost`*/ /*!50003 PROCEDURE `lockObject`(
IN parTypeId INTEGER,
IN parObjectId INTEGER,
IN parUserId INTEGER,
IN parLockTime INTEGER,
OUT parSuccess BOOLEAN,
OUT parLockedOn INTEGER, /* time is elapsing from the beginning */
OUT parErrUserId INTEGER)
BEGIN
#proc declaration
END */;;
Flyway迁移返回以下错误
com.googlecode.flyway.core.api.FlywayException: Error executing statement at line 10807: OUT parErrUserId INTEGER)
BEGIN
DECLARE locTableName CHAR(50)
Caused by com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OUT parErrUserId INTEGER)
是否有某些我错过的东西可以允许处理这个“评论”重叠问题?
此致
答案 0 :(得分:0)
将评论放在新行上,你应该好好去。 Flyway的解析器目前无法处理行尾注释和每行多个语句。
我打算及时解决这个问题。在此之前,请使用此解决方法。