DATABASE

Config path: /<database>/params.yaml

Example:

is_transient: true
retention_time: 60
comment: "Test database"

Schema

  • is_transient (bool) - make database TRANSIENT

  • retention_time (int) - data retention time in days

  • is_sandbox (bool) - custom schemas and schema objects created in sandbox database will not be dropped if not present in config

  • permission_model (str) - name of custom permission model

  • owner_integration_usage (list)

    • {items} (ident) - grant USAGE privilege on global integration to OWNER roles in this databases

  • owner_warehouse_usage (list)

    • {items} (ident) - grant USAGE privilege on warehouse to OWNER roles in this databases

  • owner_account_grants (list)

    • {items} (str) - grant account-level privilege to OWNER roles in this databases

  • owner_global_roles (list)

    • {items} (ident) - grant external roles with custom permissions created outside of SnowDDL to OWNER roles in this database

  • comment (str)

Usage notes

  1. File params.yaml is optional. All parameters are set to default if file is omitted.

  2. Schema PUBLIC is dropped from newly created databases automatically.

  3. SHARES are currently not supported by SnowDDL. But you may create shares manually, grant shares to a GLOBAL ROLE, grant GLOBAL ROLE to BUSINESS ROLE.

  4. Use is_sandbox parameter if you are planning to let external software to create SCHEMAS inside this database. Otherwise schemas which are not mentioned in SnowDDL config will be dropped.

  5. owner_* parameters are designed to provide additional privileges which are required for some object types to operate properly.

Last updated