【问题标题】:Flyway migrations supporting multiple storage engines支持多个存储引擎的 Flyway 迁移
【发布时间】:2015-10-07 12:04:26
【问题描述】:

我正在使用FlywayDB 为通用 SQL 数据库编写一组迁移文件。该项目需要支持 Oracle、MySQL 和 PostgreSQL,这意味着无论使用哪种支持的数据库类型,我的迁移文件都需要足够灵活才能运行。

在某些情况下这是一个问题。例如,如果我想要一个迁移文件来重命名一个列,那么 MySQL 和 Oracle 的语法是不同的

MYSQL

ALTER TABLE "table_name" CHANGE "old_column_name" "new_column_name" DATATYPE;

甲骨文

ALTER TABLE "table_name" RENAME COLUMN "old_column_name" TO "new_column_name";

Flyway 似乎有能力定义仅针对 Database-specific SQL syntax extensions 运行的查询块,但我无法根据现有文档弄清楚它是如何编写的。

如何编写一个 flyway 迁移文件,其中只为特定的存储引擎运行一部分?

【问题讨论】:

    标签: mysql oracle flyway


    【解决方案1】:

    您有两种选择:使用占位符表示细微差别或使用 solution described in the FAQ

    【讨论】:

    • 啊很好——如果方便提供一个占位符的例子来帮助未来的提问者。非常感谢您的宝贵时间!
    猜你喜欢
    • 2021-08-23
    • 2012-07-16
    • 2020-08-18
    • 2020-09-07
    • 2013-03-27
    • 2016-01-11
    • 1970-01-01
    • 2013-03-06
    • 2020-07-19
    相关资源
    最近更新 更多