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

catalogName

String

Name of the catalog (database) containing the table

No

schemaName

String

Name of the schema containing the table

No

tableName

String

Name of the dynamic table to alter

Yes

ifExists

Boolean

Only execute if the table exists

No

alterState nested attributes

Attribute

Type

Description

Required

suspend

Boolean

If true, suspends the dynamic table

No*

resume

Boolean

If true, resumes the dynamic table

No*

refresh

Boolean

If true, manually triggers a refresh

No*

copySessions

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>