Liquibase - 以小写形式生成表名

时间:2014-06-18 11:56:34

标签: liquibase

我正在使用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?

中提供的建议

非常感谢任何帮助。谢谢!

2 个答案:

答案 0 :(得分:0)

看起来像Liquibase如何处理案例标准化的错误。您可以在liquibase.jira.com上记录问题吗?

目前,easiset方法是使用<modifySql>块来修复表格存在问题的情况。或者只是回到<sql>标记。

答案 1 :(得分:0)

感谢Nathan,使用<modifysql>作为

解决了小写问题
<modifySql>
     <replace replace="filter" with="FILTER"/>
 </modifySql>