我对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中的表名转换为大写,则不会发生错误并且数据库已正确更新。
答案 0 :(得分:0)
这很有意思。我打算说,&#34;它适用于我,&#34;但后来我意识到我生成的变更集中的所有表名都已经是大写的。他们还引用了<createTable tableName="AUDITS">
。当然,它们必须是XML属性。
但我猜测,引号会传递给生成的SQL,这会导致您看到的效果。可能值得运行liquibase ... updateSQL
,但看看。
将liquibase-db2i扩展名更改为包含Java toUpperCase
调用应该很容易。不过,我不确定是否值得给您带来麻烦,当您可以将名称指定为大写时。