schemachange

SKILL.md

Schemachange

Deploy and manage Snowflake database changes using version control and CI/CD pipelines with schemachange's migration-based approach.

Quick Start

Script Types:

  • V__ (Versioned) - One-time structural changes (run exactly once)
  • R__ (Repeatable) - Objects that can be safely recreated (runs when new/modified)
  • A__ (Always) - Scripts that run every deployment (must be idempotent)

Script Naming

Versioned Scripts (V__)

V1.0.0__initial_setup.sql
V1.1.0__create_base_tables.sql
V2.0.0__restructure_schema.sql

Use for: CREATE TABLE, ALTER TABLE, CREATE SCHEMA

Repeatable Scripts (R__)

R__Stage_01_create_views.sql
R__Stage_02_alter_procedures.sql
R__Stage_03_utility_functions.sql

Use for: CREATE OR ALTER VIEW, CREATE OR ALTER PROCEDURE, CREATE OR REPLACE STREAM

Always Scripts (A__)

A__refresh_permissions.sql
A__update_config_values.sql

Use for: Jobs that must run every deployment (idempotent only)

Key Concepts

Execution Order

  1. Versioned scripts (V__) in numeric order
  2. Repeatable scripts (R__) in alphabetic order (use naming to control)
  3. Always scripts (A__) in alphabetic order

CREATE OR ALTER vs CREATE OR REPLACE

  • CREATE OR ALTER - Preserves data, tags, policies, grants (preferred)
  • CREATE OR REPLACE - Drops and recreates (loses metadata)

See CREATE_OR_ALTER_REFERENCE.md for supported objects.

Configuration

# schemachange-config.yml
root-folder: migrations
create-change-history-table: true
connection-name: default
change-history-table: MY_DB.SCHEMACHANGE.CHANGE_HISTORY

Deployment

# Dry run
schemachange deploy --config-folder . --dry-run

# Deploy
schemachange deploy --config-folder .

# With variables
schemachange deploy --vars '{"env":"prod","schema":"data"}'

Resources

  • schemachange-config.yml - Complete configuration template
  • SCRIPT_PATTERNS.md - Examples for V**, R**, A__ scripts (coming soon)
  • CREATE_OR_ALTER_REFERENCE.md - Supported object types (coming soon)
  • CI_CD_EXAMPLES.md - GitHub Actions and Azure DevOps patterns (coming soon)
Weekly Installs
1
GitHub Stars
31
First Seen
5 days ago
Installed on
amp1
cline1
opencode1
cursor1
kimi-cli1
codex1