columnStandardTable

Nested element for defining columns within createStandardTable.

This is a separate element from Liquibase column - it uses its own XSD definition to include Snowflake-specific features while excluding unsupported core attributes.

Supported attributes

From core column

Attribute

Type

Description

name

String

Column name (required)

type

String

Snowflake data type

nullable

Boolean

Whether column allows NULL (default: true)

computed

Boolean

Whether value is computed

remarks

String

Column comment

defaultValue

String

Default string value

defaultValueNumeric

String

Default numeric value

defaultValueBoolean

Boolean

Default boolean value

defaultValueDate

String

Default date value (ISO format)

defaultValueComputed

String

Default computed expression

defaultValueSequenceNext

String

Sequence NEXTVAL as default

defaultValueSequenceCurrent

String

Sequence CURRVAL as default

defaultValueConstraintName

String

Name for default value constraint

autoIncrement

Boolean

Enable autoincrement

startWith

Long

Starting value for autoincrement

incrementBy

Long

Increment step for autoincrement

generationType

String

Generation type for auto-increment

defaultOnNull

Boolean

Generate value when NULL is inserted

Snowflake-specific

Attribute

Type

Description

autoIncrementOrder

String

Sequence ordering: ORDER or NOORDER*

collation

String

Column collation (e.g., en-ci)

maskingPolicy

String

Name of masking policy to apply

maskingPolicyUsing

String

Columns for USING clause in masking policy

projectionPolicy

String

Name of projection policy to apply

*Only valid when autoIncrement=true.

ORDER vs NOORDER behavior

Mode

Guarantees

Performance

Use case

ORDER

Values in strict sequential order

Reduced concurrency

Invoice numbers, audit sequences

NOORDER

Unique values, may have gaps

Better throughput

Log entries, event records

Unsupported core attributes

These core column attributes are not available:

Attribute

Reason

afterColumn

Snowflake doesn't support column positioning

beforeColumn

Snowflake doesn't support column positioning

position

Snowflake doesn't support column positioning

value

Use defaultValue instead (for table creation)

valueNumeric

Use defaultValueNumeric instead

valueBoolean

Use defaultValueBoolean instead

valueDate

Use defaultValueDate instead

valueComputed

Use defaultValueComputed instead

valueBlobFile

Not supported in table creation context

valueClobFile

Not supported in table creation context

encoding

Not applicable

descending

Not applicable (index-specific)

Nested elements

constraints

Extends core constraints with Snowflake-specific options.

Attribute

Type

Description

enforced

Boolean

Whether constraint is enforced (Snowflake-specific)

rely

Boolean

Whether optimizer relies on constraint (Snowflake-specific)

onUpdateAction

String

Foreign key update action: CASCADE, RESTRICT, etc.

onDeleteAction

String

Foreign key delete action: CASCADE, SET NULL, SET DEFAULT

tags

Column-level tags for metadata management (nested element in XML, array in JSON/YAML).

-- Standard table with ORDER column
CREATE TABLE PUBLIC.ORDERS_WITH_ORDERED_ID (
  ID NUMBER AUTOINCREMENT ORDER START 1 INCREMENT 1 PRIMARY KEY,
  ORDER_NUMBER VARCHAR(50) NOT NULL,
  AMOUNT NUMBER (10, 2)
);


-- Standard table with NOORDER column
CREATE TABLE PUBLIC.LOGS_WITH_NOORDER_ID (
  LOG_ID NUMBER AUTOINCREMENT NOORDER START 1 INCREMENT 1,
  MESSAGE VARCHAR(500),
  CREATED_AT TIMESTAMP_NTZ
);


-- Mixed column types with custom sequence
CREATE TABLE PUBLIC.MIXED_COLUMN_TYPES (
  ID NUMBER AUTOINCREMENT ORDER START 1000 INCREMENT 10 PRIMARY KEY,
  NAME VARCHAR(100) NOT NULL,
  VERSION NUMBER AUTOINCREMENT NOORDER START 1 INCREMENT 1
);