पाठ 20 / 25

Migrations, Diff and Push

Move schema changes safely between environments.

Schema changes as files

Create a migration with supabase migration new <name> and write SQL by hand, or make changes in local Studio and capture them with supabase db diff -f <name>. Review the generated SQL before committing. supabase link --project-ref <ref> connects the folder to a hosted project, and supabase db push applies pending migrations to it. supabase db pull captures an existing remote schema. Run pushes from CI rather than laptops once a team is involved.

From local change to production

A typical sequence.

supabase migration new add_tasks_table   # writes supabase/migrations/<timestamp>_add_tasks_table.sql
# ...edit the SQL, or change things in local Studio and then:
supabase db diff -f add_tasks_table      # generate a migration from local changes
supabase db reset                        # prove migrations apply cleanly from scratch

supabase link --project-ref your-project-ref
supabase db push                         # apply pending migrations to the linked project

Avoid editing production in the dashboard

Changes made directly in the hosted dashboard drift from your migration files; if it happens, pull or diff them back into a migration immediately.

त्वरित जाँच: Which command applies local migrations to a linked hosted project?

  • supabase start
  • supabase db push
  • supabase db reset
  • supabase init
Answer

supabase db push — push sends pending migrations to the remote database.