【问题标题】:Create table in multiple databases with flyway使用flyway在多个数据库中创建表
【发布时间】:2019-05-21 23:15:09
【问题描述】:

我正在尝试连接到多个数据库并创建表,但是在迁移 flyway 时出现语法错误。

这是我正在尝试运行的迁移文件:

\c testdatabase;
CREATE TABLE testtable1;

\c testdatabase2;
CREATE TABLE testtable2;

Flyway 给出这个输出:

Error Code : 0
Message : ERROR: syntax error at or near "\"
Position: 1
Line : 1
Statement : \c testdatabase

flyway 似乎不支持像“\c”这样的元命令来连接数据库。有没有其他方法可以连接到数据库并创建表?

【问题讨论】:

    标签: flyway


    【解决方案1】:

    错误来自脚本中两条 SQL 语句之前的注释行(如错误输入中所示):\c testdatabase;,它们不是 cmets 的有效 SQL 语法。

    您可以像下面这样简单地纠正那些错误的行:-- testdatabase,通常,错误输入已经提示您问题出在哪里。

    【讨论】:

    • 我正在尝试连接到数据库并创建一个表。似乎flyway不支持像“\c”这样的元命令来连接数据库。
    • 您应该向 Flyway 提供必要的数据,以通过配置而不是脚本连接到数据库。该脚本描述了数据库模式迁移中的一个步骤,它并不意味着处理数据库配置、用户等。
    猜你喜欢
    • 2013-11-16
    • 2018-12-23
    • 2021-10-12
    • 2011-10-02
    • 1970-01-01
    • 2013-03-06
    • 1970-01-01
    • 2021-06-02
    相关资源
    最近更新 更多