【问题标题】:How to add remarks to existing column using liquibase如何使用 liquibase 向现有列添加备注
【发布时间】:2021-01-08 18:06:13
【问题描述】:

我在 posgresql 数据库中工作,我想使用 liquibase 覆盖表列中的现有注释,所以我有: mytable (column1 int) --This is a comment

我知道我可以用 SQL 原生的方式来做,像这样:

<changeSet author="myuser" id="123456">
        <sql dbms="postgresql">
            COMMENT ON COLUMN mytable.column1 IS 'This is my new comment';
        </sql>
</changeSet>

有什么方法可以在不依赖原生机制的情况下进行这种更改?

【问题讨论】:

    标签: java liquibase


    【解决方案1】:

    您可以使用renameColumn 类型来为 liquibase 提供与 oldColumnName 相同的 newColumnName - 即使我不确定它是否适用于 PostgreSQL:

    <changeSet  author="myuser"  id="123456">  
        <renameColumn
                newColumnName="column1"  
                oldColumnName="column1"  
                remarks="This is my new comment" 
                tableName="mytable"/>  
    </changeSet>
    

    【讨论】:

    • 这对任何数据库都不起作用。尝试使用 postgres、oracle 和 msssql
    【解决方案2】:

    有一个特殊的 Change Type setColumnRemarks 可以在现有列上添加备注:

    <changeSet author="myuser" id="123456">
        <setColumnRemarks
            columnName="column1"
            remarks="This is my new comment"
            tableName="mytable"/>
    </changeSet>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-13
      • 2022-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多