| name | snowflake-multi-env-setup |
| description | Configure Snowflake across dev, staging, and production with account-level isolation,
zero-copy clones, and environment-specific RBAC.
Trigger with phrases like "snowflake environments", "snowflake staging",
"snowflake dev prod", "snowflake clone", "snowflake environment setup".
|
| allowed-tools | Read, Write, Edit, Bash(aws:*), Bash(gcloud:*), Bash(vault:*) |
| version | 1.5.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","data-warehouse","analytics","snowflake"] |
| compatibility | Designed for Claude Code |
Snowflake Multi-Environment Setup
Overview
Configure dev/staging/production environments using Snowflake's zero-copy cloning, separate databases, and environment-specific roles and warehouses.
Environment Strategy
| Environment | Approach | Data | Warehouse | Cost |
|---|
| Development | Cloned DB, XSMALL WH | Zero-copy clone (refreshed weekly) | DEV_WH_XS | Minimal |
| Staging | Cloned DB, same-size WH | Zero-copy clone (refreshed daily) | STAGING_WH | Moderate |
| Production | Source of truth | Real data | PROD_WH (multi-cluster) | Full |
Instructions
Step 1: Create Environment Databases with Zero-Copy Cloning
CREATE DATABASE STAGING_DW CLONE PROD_DW;
CREATE DATABASE DEV_DW CLONE PROD_DW;
CREATE DATABASE STAGING_DW CLONE PROD_DW
AT (TIMESTAMP => '2026-03-21 06:00:00'::TIMESTAMP_NTZ);
CREATE OR REPLACE TASK refresh_staging_clone
WAREHOUSE = ADMIN_WH
SCHEDULE = 'USING CRON 0 4 * * * America/New_York'
AS
BEGIN
DROP DATABASE IF EXISTS STAGING_DW;
CREATE DATABASE STAGING_DW CLONE PROD_DW;
USAGE DATABASE STAGING_DW ROLE STAGING_ROLE;
USAGE SCHEMAS DATABASE STAGING_DW ROLE STAGING_ROLE;
TABLES DATABASE STAGING_DW ROLE STAGING_ROLE;
;
TASK refresh_staging_clone RESUME;