alterDynamicTable alterState
Controls the operational state of a dynamic table: suspend, resume, or manually refresh.
Known limitations:
This change type does not support automatic rollback.
Snowflake snapshots created with Liquibase Secure 5.1 are incompatible with earlier versions due to enhanced object type detection for TABLES and VIEWS. Regenerate all snapshots with 5.1 after upgrading to avoid false differences in diff and diff-changelog operations.
Available attributes
Attribute | Type | Description | Required |
|---|---|---|---|
| String | Name of the catalog (database) containing the table | No |
| String | Name of the schema containing the table | No |
| String | Name of the dynamic table to alter | Yes |
| Boolean | Only execute if the table exists | No |
alterState nested attributes
Attribute | Type | Description | Required |
|---|---|---|---|
| Boolean | If true, suspends the dynamic table | No* |
| Boolean | If true, resumes the dynamic table | No* |
| Boolean | If true, manually triggers a refresh | No* |
| Boolean | If true with refresh, copies session information | No |
*Exactly one of suspend, resume, or refresh must be specified.
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:pro-snowflake="http://www.liquibase.org/xml/ns/pro-snowflake"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd
http://www.liquibase.org/xml/ns/pro-snowflake
http://www.liquibase.org/xml/ns/pro-snowflake/liquibase-pro-snowflake-latest.xsd">
<!-- Suspend dynamic table -->
<changeSet id="suspend-dynamic-table" author="examples">
<pro-snowflake:alterDynamicTable tableName="EXPENSIVE_SUMMARY">
<pro-snowflake:alterState suspend="true"/>
</pro-snowflake:alterDynamicTable>
</changeSet>
<!-- Resume dynamic table -->
<changeSet id="resume-dynamic-table" author="examples">
<pro-snowflake:alterDynamicTable tableName="EXPENSIVE_SUMMARY">
<pro-snowflake:alterState resume="true"/>
</pro-snowflake:alterDynamicTable>
</changeSet>
<!-- Manual refresh -->
<changeSet id="refresh-dynamic-table" author="examples">
<pro-snowflake:alterDynamicTable tableName="SALES_SUMMARY">
<pro-snowflake:alterState refresh="true"/>
</pro-snowflake:alterDynamicTable>
</changeSet>
</databaseChangeLog>