Skip to content

Database

Snowflake Documentation

Represents a database in Snowflake.

Examples

YAML

databases:
  - name: some_database
    transient: true
    owner: SYSADMIN
    data_retention_time_in_days: 7
    max_data_extension_time_in_days: 28
    default_ddl_collation: utf8
    tags:
      project: research
      priority: high
    comment: This is a database.

You can add schemas to a database using the schemas field:

databases:
  - name: some_database
    schemas:
      - name: another_schema

Or by referencing the database name:

databases:
  - name: some_database

schemas:
  - name: another_schema
    database: some_database

Python

database = Database(
    name="some_database",
    transient=True,
    owner="SYSADMIN",
    data_retention_time_in_days=7,
    max_data_extension_time_in_days=28,
    default_ddl_collation="utf8",
    tags={"project": "research", "priority": "high"},
    comment="This is a database."
)

A database can contain schemas. In Python, you can add a schema to a database in several ways:

By database name:

sch = Schema(
    name="some_schema",
    database="my_test_db",
)

By database object:

db = Database(name="my_test_db")
sch = Schema(
    name="some_schema",
    database=db,
)

Or using the add method:

db = Database(name="my_test_db")
sch = Schema(name="some_schema")
db.add(sch)

Fields

  • name (string, required) - The name of the database.
  • transient (bool) - Specifies if the database is transient. Defaults to False.
  • owner (string or Role) - The owner role of the database. Defaults to "SYSADMIN".
  • data_retention_time_in_days (int) - The number of days to retain data. Defaults to 1.
  • max_data_extension_time_in_days (int) - The maximum number of days to extend data retention. Defaults to 14.
  • default_ddl_collation (string) - The default collation for DDL statements.
  • tags (dict) - A dictionary of tags associated with the database.
  • comment (string) - A comment describing the database.