【问题标题】:Flyway 4.0 commandline creates empty metadata tableFlyway 4.0 命令行创建空的元数据表
【发布时间】:2016-07-24 19:44:05
【问题描述】:

我承认我是 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、表、baselineVersion 等)没有任何影响。

哦,我还简单地尝试了 mariadb 驱动程序。

任何帮助将不胜感激。

【问题讨论】:

    标签: mysql percona flyway


    【解决方案1】:

    这不是 flyway 3.2.1 的问题

    谢谢

    【讨论】:

    • 谢谢你,赛马。这确实有效,而且很有帮助,至少作为一个短期解决方案。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2012-06-06
      • 2014-10-23
      • 1970-01-01
      • 1970-01-01
      • 2020-09-15
      • 1970-01-01
      • 2013-02-21
      • 2016-09-24
      • 2021-10-12
      相关资源
      最近更新 更多