我当然是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司机。
任何帮助都将不胜感激。
答案 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
目录中来解决此问题。
然后一切都应该按预期工作。