使用Liquibase重命名架构



假设Liquibase变更集的V1定义如下:

<changeSet author="newco" id="create-old_table_name">  
<createTable tableName="old_table_name">
...
</createTable>
</changeSet>

V1没有定义模式名称,因此据我所知,它有一个默认值,但在V2中,我想指定一个模式名称:

<changeSet author="newco" id="update-v2-rename-old_table_name">  
<renameTable newTableName="old_table_name" 
oldTableName="old_table_name" 
schemaName="example"/>  
</changeSet>

但这不起作用,并抛出一个异常,声明表名没有更改。是否无法更改架构?

您想在这里实现什么DB更改?

如果您想将表从一个模式移动到另一个模式,则需要使用SQL更改作为";重命名表";更改类型仅用于重命名同一架构中的表。

例如,请参阅如何在Postgres中将表从公共模式移动到其他模式,以获得在psql中实现该移动所需的SQL

像这样的东西?

<sql>
ALTER TABLE old_table_name
SET SCHEMA example;
</sql>

相关内容

  • 没有找到相关文章

最新更新