AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Db Migrate

skill-benja-pauls-serpentstack-db-migrate · by Benja-Pauls

Manage database schema changes with Alembic. Use when: creating migrations, adding tables or columns, checking migration status, rolling back, or seeding the database.

No reviews yet
0 installs
16 views
0.0% view→install

Install

$ agentstack add skill-benja-pauls-serpentstack-db-migrate

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-benja-pauls-serpentstack-db-migrate)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
4mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Db Migrate? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Database Migrations

Manage database schema changes with Alembic in SerpentStack.

Prerequisites

  • Postgres running: docker compose up -d postgres
  • Backend dependencies installed: cd backend && uv sync

Creating a New Migration

After modifying or adding a SQLAlchemy model:

cd backend && uv run alembic revision --autogenerate -m "describe the change"

The migration description should be concise and specific, e.g., "add projects table", "add email column to users", "create index on tasks.status".

Review the generated file in backend/migrations/versions/. Verify:

  • The upgrade() function contains the expected op.create_table, op.add_column, or op.create_index calls.
  • The downgrade() function is the inverse of upgrade.
  • No unintended changes are included (Alembic sometimes detects phantom diffs).

Running Migrations

Apply all pending migrations:

cd backend && uv run alembic upgrade head

Apply only the next migration:

cd backend && uv run alembic upgrade +1

Checking Migration Status

See the current revision:

cd backend && uv run alembic current

See full migration history:

cd backend && uv run alembic history --verbose

Downgrading

Roll back the last migration:

cd backend && uv run alembic downgrade -1

Roll back to a specific revision:

cd backend && uv run alembic downgrade 

Adding a New Table

Full workflow:

  1. Create the model file at backend/app/models/{name}.py — inherit from Base (provides id, created_at, updated_at).
  2. Import the model in backend/app/models/__init__.py so Alembic detects it.
  3. Generate the migration: cd backend && uv run alembic revision --autogenerate -m "add {name}s table".
  4. Review the generated migration file.
  5. Apply: cd backend && uv run alembic upgrade head.
  6. Verify: connect to the database and confirm the table exists.

Adding a Column to an Existing Table

  1. Edit the model in backend/app/models/{name}.py -- add the new column.
  2. Generate: cd backend && uv run alembic revision --autogenerate -m "add {column} to {name}s".
  3. Review: ensure only the expected op.add_column is present.
  4. Apply: cd backend && uv run alembic upgrade head.

Troubleshooting

| Problem | Solution | |---|---| | Target database is not up to date | Run uv run alembic upgrade head first | | Can't locate revision | Check alembic.ini for correct script_location | | Phantom diffs in autogenerate | Compare model against DB schema manually; add to Alembic's exclude list if needed | | relation already exists | The migration was partially applied. Check alembic_version table and fix manually | | Migration conflicts (multiple heads) | Run uv run alembic merge heads -m "merge migrations" | | ModuleNotFoundError on model import | Ensure model is imported in backend/app/models/__init__.py | | Docker not running | Testcontainers and local Postgres both require Docker Desktop to be running |

Seed Data

Populate the database with sample development data:

make seed

This runs the async seed CLI command at backend/app/cli/seed.py. The seed script is idempotent — running it multiple times will not create duplicates (it checks for existing rows first).

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.