首页 文章

Liquibase - 将changeSet应用于DB2 for iSeries:区分大小写?

提问于
浏览
0

我对Liquibase 3.3有以下问题 . 我使用liquibase-db2i扩展来更新DB2 for iSeries数据库 . 我的架构中的所有现有表名都是大写的 . 我生成的changeSet中的表名是小写的 . 如果我使用我的更改日志执行“liquibase update”,我会收到以下错误:

Change Set changelog.xml::1::user (generated) failed.
Error: java.sql.SQLException: [SQL0204] test_table in TESTSCHEMA type *FILE not found.

如果我手动将changeSet中的表名转换为大写,则不会发生错误并且数据库已正确更新 .

1 回答

  • 0

    那个's interesting. I was going to say, 1455898 but then I realised that all the table names in my generated changeset are already in upper case. They'也引用了: <createTable tableName="AUDITS"> . 当然,它们必须是XML属性 .

    但我猜,引号会被传递给生成的SQL,这会导致你看到的效果 . 可能值得运行 liquibase ... updateSQL ,看看吧 .

    将liquibase-db2i扩展名更改为包含Java toUpperCase 调用应该很容易 . 但是,我不确定是否值得这么麻烦,当你可以将名称指定为大写时 .

相关问题