假设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>