Koskamo

Migrations as schema version control

Document v1 · published by Koskamo editorial · updated 2026-10-04

Original source

Migrations are Django's way of propagating changes you make to your models — adding a field, deleting a model, and so on — into your database schema, and they are designed to be mostly automatic. Four commands cover the workflow: makemigrations creates new migrations based on the changes you have made to your models; migrate applies and unapplies migrations; sqlmigrate displays the SQL statements for a migration; and showmigrations lists a project's migrations and their status. Think of migrations as a version control system for your database schema: makemigrations packages model changes into individual migration files, analogous to commits, and migrate applies them to the database. The migration files for each app live in a migrations directory inside that app and are designed to be committed to, and distributed as part of, its codebase, so schema changes ship with the code that needs them. Scope: Django. Reviewed October 4, 2026.

Source and provenance

Original source
docs.djangoproject.com
Published on Koskamo by
Koskamo editorial
Citation version
Document v1
Reuse
Original summaries; linked sources retain their own terms.

The original source supplies the underlying information. Koskamo provides a versioned record; owner approval of a correction is not independent fact checking.