【问题标题】:Liquibase - generate table names in lowercaseLiquibase - 以小写形式生成表名
【发布时间】:2014-08-08 17:08:29
【问题描述】:

我正在使用 Liquibase 3.2.0 对 Oracle 数据库执行升级。我的架构中所有现有的表名都是小写的

我的问题是,当我使用 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="QUOTE_ALL_OBJECTS",但没有成功。

有没有办法实现我想要的?我熟悉Liquibase/PostgreSQL: how to preserve table case correctly?中提供的建议

任何帮助将不胜感激。谢谢!

【问题讨论】:

    标签: liquibase


    【解决方案1】:

    感谢 Nathan,小写问题已通过使用 &lt;modifysql&gt; as 解决

    <modifySql>
         <replace replace="filter" with="FILTER"/>
     </modifySql>
    

    【讨论】:

      【解决方案2】:

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

      目前,最简单的方法是使用&lt;modifySql&gt; 块来修复存在问题的表的情况。或者直接使用&lt;sql&gt; 标签。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-08-27
        • 2019-11-30
        • 2017-06-01
        • 2013-04-11
        • 1970-01-01
        • 2013-04-05
        • 2017-08-15
        • 2016-06-08
        相关资源
        最近更新 更多