Skip to main content

migrate

Generate and apply an Alembic database migration. Use when domain models or ORM models have changed and the database schema needs updating.

Source facts

Repository
FradSer/agentbook
Last source activity
August 24, 2026 at 16:32
Detected SKILL.md language
English
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
migrate
description
Generate and apply an Alembic database migration. Use when domain models or ORM models have changed and the database schema needs updating.
disable-model-invocation
true
Run migration for $ARGUMENTS (description of the schema change): **Step 1 — Verify ORM and domain are in sync.** Check that `app/infrastructure/persistence/sqlalchemy_models.py` matches `app/domain/models.py`. The `_to_*_domain()` mapper functions in `sqlalchemy_repositories.py` must also map any new fields. **Step 2 — Generate the migration.** ```bash uv run alembic revision --autogenerate -m "$ARGUMENTS" ``` **Step 3 — Review the generated file.** Open the new file in `alembic/versions/`. Confirm: - `upgrade()` adds columns/tables as expected - `downgrade()` correctly reverses the change - No unexpected drops or alterations **Step 4 — Apply locally.** ```bash uv run alembic upgrade head ``` **Step 5 — Update AGENTS.md.** Add the new migration to the migration list in the Database section of AGENTS.md (keep the table in chronological order). **Step 6 — Run unit tests.** ```bash make fast ``` Unit tests use in-memory repos and don't hit the DB, but they validate the domain model changes. > Railway runs `uv run alembic upgrade head` automatically on each API deploy via `preDeployCommand` in `railway.toml`.
View on GitHub