--- id: schemachange version: "4.3.3" license: Apache-2.0 license_treatment: permissive maintenance: active --- # schemachange — A Database Change Management tool for Snowflake License: permissive · Maintenance: active · Downloads: 506.1K/mo ## What it is and what it does schemachange is a database change management tool designed specifically for Snowflake. It lets you version-control your schema changes as SQL scripts organized in folders, then deploy them through a CI/CD pipeline using an imperative approach—meaning you write the exact SQL changes you want applied, rather than declaring the desired end state. The tool tracks what has been deployed in a change history table within Snowflake, preventing duplicate runs and maintaining an audit trail. You organize migration scripts with a Flyway-like naming convention (V1.0.0__description.sql for versioned changes, R__description.sql for repeatable scripts). schemachange reads these scripts, optionally renders them through Jinja2 templating, and executes them against your Snowflake account. It supports multiple authentication methods (password, JWT, OAuth, browser-based), configuration via environment variables or a connections.toml file, and integrates naturally into DevOps workflows. Use it for: - Automating Snowflake schema deployments in CI/CD pipelines with version control and approval workflows. - Managing repeatable objects like stored procedures and functions that need to be redeployed consistently across environments. - Templating migration scripts with Jinja2 to handle environment-specific configurations (warehouse names, roles, etc.). - Tracking all schema changes in Snowflake's change history table for compliance and audit purposes. - Coordinating multi-team database changes through a single source of truth in version control. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. schemachange is a Python tool that manages Snowflake database schema changes through versioned SQL migration scripts, following an imperative database change management approach similar to Flyway. Yes. schemachange is actively maintained, has no known vulnerabilities, uses a permissive Apache-2.0 license, and solves a real problem for teams deploying to Snowflake. Low install friction and straightforward CLI make it accessible for both small projects and enterprise CI/CD integration. The caveat is that it is community-developed, not an official Snowflake product, so support depends on the community. ## Install pip install schemachange uv add schemachange poetry add schemachange ## Installing schemachange Before you install: Installation is straightforward with low friction—five runtime dependencies including snowflake-connector-python, colorama, jinja2, pyyaml, and structlog. The project is actively maintained with a recent release and 671 repository stars, indicating stable community adoption. License in practice: Licensed under Apache-2.0 (permissive), allowing free use, modification, and distribution in both open-source and commercial projects with minimal restrictions. Quickstart: pip install schemachange # Create migrations/V1.0.0__initial_setup.sql with your SQL # Set Snowflake credentials via environment variables or connections.toml schemachange deploy -f migrations Requires Python 3.10 or later; Snowflake account credentials and appropriate database privileges must be configured before deployment. Verify before relying: - Whether the tool supports rollback or only forward migrations. - Performance characteristics when managing very large numbers of migration scripts. - Detailed audit trail and change history retention policies in Snowflake. ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 506.1K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags snowflake schema migration, database change management, snowflake version control, sql migration tool, snowflake devops, imperative database migration, snowflake ci/cd deployment, snowflake, devops, migration [View on SkillFed](https://skillfed.io/packages/schemachange) · [View on PyPI](https://pypi.org/project/schemachange/)