.agents/skills/create-database-migration/SKILL.md
Read the canonical human guidance in
docs/practices/database-migrations.md
before making a migration. This skill is the executable checklist that
accompanies it.
cd ghost/core && pnpm migrate:create <kebab-case-slug>. IMPORTANT: do not create the migration file manually; always use this script to create the initial empty migration file. The slug must be kebab-case (e.g. add-column-to-posts).ghost/core/core/server/data/migrations/versions if needed, create the empty migration file with the appropriate name, and bump the core and admin package versions to RC if this is the first migration after a release.ghost/core/core/server/data/migrations/utils/*.ghost/core/core/server/data/schema/schema.js, and make sure it aligns with the latest changes from the migration.cd ghost/core && pnpm knex-migrator migrate --v {version directory} --forcedown(): cd ghost/core && pnpm knex-migrator rollback --v {previous version} --force, then migrate forward again.cd ghost/core && pnpm test:single test/integration/migrations/migration.test.js. Migrations must pass the database-backed suites against both MySQL and SQLite.ghost/core/core/server/data/exporter/table-lists.js as appropriate. The consistency assertion in ghost/core/test/unit/server/data/exporter/index.test.js checks that every schema table is classified in the exporter lists.cd ghost/core && pnpm test:single test/unit/server/data/exporter/index.test.js.cd ghost/core && pnpm test:single test/unit/server/data/schema/integrity.test.jscd ghost/core && pnpm test:unitSee examples.md for example migrations.
See rules.md for rules that should always be followed when creating database migrations.