【问题标题】:How to use BLOB data type with different databases in flyway?如何在 flyway 中将 BLOB 数据类型与不同的数据库一起使用?
【发布时间】:2013-12-11 06:31:16
【问题描述】:

在 FLYWAY 中是否可以只使用一个 SQL 脚本在 mssyl、mysql 和 oracle 中创建具有 BLOB 数据类型的表?

CREATE TABLE TFILEATTACHMENT (
  ATTACHID decimal(16,0) NOT NULL,
  FILENAME varchar(255) DEFAULT '',
  FILEBLOB blob,
  USERID varchar(10) DEFAULT '',
  PRIMARY KEY (ATTACHID)
);

flyway 迁移在 MYSQL 和 ORACLE 下使用此脚本可以正常工作。但是 MSSQL 不知道数据类型“blob”——所以我们在 mssql 中使用类型“VARBINARY”。 但是,如果我们对所有数据库都只有一个脚本,那就太好了。

flyway 是否有可能处理这个从 blob 到 e.g. 的特定于数据库的翻译变量二进制? 还是有比“blob”更好的“标准”-SQL 数据类型?

谢谢!

【问题讨论】:

    标签: database migration blob flyway


    【解决方案1】:

    解决此问题的最简单方法是使用占位符。然后,您可以定义一个占位符 ${blobDataType},其中包含值 FILEBLOB 或值 VARBINARY,具体取决于 配置 您当前的环境。

    【讨论】:

    • 非常感谢您的建议。占位符是一个很棒的概念。你觉得占位符也是MSSQL建表后“GO”语句的一个很好的解决方案吗?
    猜你喜欢
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-01
    • 1970-01-01
    • 2013-10-22
    • 1970-01-01
    • 2014-05-07
    相关资源
    最近更新 更多