Flyway 4.0命令行创建空元数据表

时间:2016-04-05 03:35:51

标签: mysql percona flyway

我当然是Flyway的新手,但我不认为我错过任何明显的东西。我已经尝试了许多非常基本的执行,并且无法通过flyway来填充它的“元数据”表。我正在连接远程Percona MySQL数据库:

Server version: 5.6.29-76.2-log Percona Server (GPL), Release 76.2, Revision ddf26fe

我可以用来证明这一点的最简单的例子是执行以下操作:

flyway -password='db_pass' -url='jdbc:mysql://XX.XX.XX.XX:3306/db_schema' -user='db_owner' -locations='filesystem:/home/adam/flyway' migrate

/home/adam/flyway/V1.1__Cars.sql使用sql脚本:

CREATE TABLE `cars` (
  `id` bigINT(20) NOT NULL PRIMARY KEY,
  `license_plate` VARCHAR(10) NOT NULL,
  `color` VARCHAR(10) NOT NULL
);

同样重要的是要注意脚本本身是在调用flyway migrate时执行的。还会创建schema_versions的默认元数据表。它也是在基线操作期间创建的。

我已经尝试了一些似乎有意义的配置选项,它对填充元数据表(模式,用户,位置,baselineOnMigrate,table,baselineVersion等)没有任何影响。

哦,我也曾尝试过短暂的mariadb司机。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

这不是flyway 3.2.1的问题

由于

答案 1 :(得分:0)

默认情况下,Flyway命令行分发附带MariaDB驱动程序,用于MySQL和Percona(jdbc:mysql:... URL)和MariaDB连接(jdbc:mariadb:... URL)。

此驱动程序的较新版本似乎与Percona不兼容。您可以通过下载官方的MySQL Connector / J JDBC驱动程序并将jar文件放在Flyway安装的/drivers目录中来解决此问题。

然后一切都应该按预期工作。