What is a migration?¶
A migration is more than “run a loading tool once.” It is a sequence of technical and organizational steps that move schemas, code, data, pipelines, and consumers from a legacy database platform to Snowflake while controlling risk.
Regardless of the sources being migrated, they share a common way to think about the journey. In plain terms, teams typically work through topics like these:
-
Planning and design — Clarify scope, priorities, and success criteria before chasing quick wins. Under-planned migrations are a common source of rework and timeline slip.
-
Environment and security — Stand up Snowflake accounts (for example dev and prod), networking, authentication (including SSO where required), and a role model that fits Snowflake’s RBAC. Align migration-team access with the reality that non-production work still touches real data.
-
Database code conversion — Extract DDL and procedural objects from the source catalog (tables, views, procedures, functions, and related scripts). Translate them into Snowflake SQL (and Snowflake procedural models such as Snowflake Scripting or JavaScript where appropriate). Adjustments range from renames and type mappings to semantic differences in SQL and execution models. SnowConvert AI automates much of this translation; remaining gaps show up as EWIs and related reports.
-
Data migration — Move rows into Snowflake: usually an initial historical load, then incremental catch-up so Snowflake stays aligned with the source until cutover.
-
Data ingestion (ongoing pipelines) — After or alongside bulk loads, replatform live ingestion (often described as ETL or ELT depending on where transformation runs).
-
Reporting and analytics — Point BI tools and ad hoc workloads at Snowflake. SQL and semantic layers often need updates after object renames and dialect changes.
-
Data validation and testing — Confirm correctness using your organization’s standards (counts, samples, regression tests, procedural output checks, and so on).
-
Deployment and cutover — Promote environments in a controlled order. Many environments need a bridging strategy so applications are not stuck querying two systems indefinitely; users should understand any temporary hybrid behavior.
-
Optimize and run — After cutover, the system enters steady operations: performance tuning, cost governance, and ongoing change management. This phase is operations, not the migration project itself.