Claude-skill-registry Database Development
Database migrations and Drizzle ORM guidelines for the vm0 project
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/database-development" ~/.claude/skills/majiayu000-claude-skill-registry-database-development && rm -rf "$T"
manifest:
skills/data/database-development/SKILL.mdsource content
Database Development
Commands
cd turbo/apps/web pnpm db:generate # Generate migration from schema changes pnpm db:migrate # Run pending migrations pnpm db:studio # Open Drizzle Studio UI
Critical: _journal.json
Manual migrations MUST have an entry in
.src/db/migrations/meta/_journal.json
Without this entry, the migration will NOT run and CI will fail.
{ "idx": 25, // Next sequential number "version": "7", // Always "7" "when": 1765000000000, // Timestamp (ms) "tag": "0025_my_migration", // Must match filename without .sql "breakpoints": true }
Migration Workflows
Auto-Generated (simple changes)
# 1. Edit schema in src/db/schema/ # 2. Generate (auto-updates _journal.json) pnpm db:generate # 3. Run locally pnpm db:migrate
Manual (renames, complex ALTER)
# 1. Create: src/db/migrations/XXXX_name.sql # 2. Add entry to _journal.json ← DON'T FORGET! # 3. Update schema file to match # 4. Run locally pnpm db:migrate
Checklist
Before committing:
- Schema file updated in
src/db/schema/ - Schema exported in
(if new table)src/db/db.ts -
updated (manual migrations)_journal.json -
works locallypnpm db:migrate -
passespnpm test