我正在使用Liquibase 3.2.0在Oracle DB上执行升级。我的架构中的所有现有表名都是小写的
我的问题是,当我使用Liquibase运行changeSet时,表名以大写形式生成。
我的changeSet中的典型条目如下所示:
<changeSet author="me (generated)" id="1403006263048-2">
<createTable tableName="batch_job">
<column name="id" type="number">
<constraints nullable="false" primaryKey="true" primaryKeyName="batch_jobPK"/>
</column>
<column name="version" type="number">
<constraints nullable="false"/>
</column>
<column name="execution_time_stamp" type="timestamp">
<constraints nullable="false"/>
</column>
<column name="reference_region" type="varchar2(5)">
<constraints nullable="false"/>
</column>
<column name="trigger_description" type="varchar2(255)">
<constraints nullable="false"/>
</column>
</createTable>
</changeSet>
但是,生成的表名是: BATCH_JOB
我尝试在 databaseChangeLog 元素中设置属性 objectQuotingStrategy =&#34; QUOTE_ALL_OBJECTS&#34; ,但没有成功。
有没有办法实现我想要的?我熟悉Liquibase/PostgreSQL: how to preserve table case correctly?
中提供的建议非常感谢任何帮助。谢谢!
答案 0 :(得分:0)
看起来像Liquibase如何处理案例标准化的错误。您可以在liquibase.jira.com上记录问题吗?
目前,easiset方法是使用<modifySql>
块来修复表格存在问题的情况。或者只是回到<sql>
标记。
答案 1 :(得分:0)
感谢Nathan,使用<modifysql>
作为
<modifySql>
<replace replace="filter" with="FILTER"/>
</modifySql>