Skip to content

kumiko migrate

Terminal window
kumiko migrate <subcommand>

Legacy path for apps with drizzle.config.ts + drizzle/migrations/. New apps should use kumiko schema instead (kumiko/schema.ts + kumiko/migrations/).

kumiko migrate runs per app workspace — it expects drizzle.config.ts in the current directory.

SubcommandWhat it does
generate-schemaRegenerate drizzle/schema.generated.ts from your entities
generategenerate-schema + drizzle-kit generate (writes migration file)
applydrizzle-kit migrate (apply pending migrations)
validateSchema-drift check (DB vs. journal/snapshot)
statusdrizzle-kit check
dropDrop the latest migration
Terminal window
# After adding/changing an entity:
cd samples/apps/my-app
bun kumiko migrate generate # writes a new migration file
# review the .sql in drizzle/migrations/
bun kumiko migrate apply # applies it

validate compares your DB’s actual schema against the journal (drizzle/migrations/_journal.json) and a checked-in snapshot:

Terminal window
bun kumiko migrate validate
# ✓ no drift — DB matches journal
# … or:
# ✗ drift detected: 2 unexpected columns, 1 missing index

Exit 0 when in sync, 1 when drifted. Wire it into CI for main branch protection.

Multi-tenant apps own their schema; the framework owns its event store. Migration scoping is by app workspace, not by repo. Run kumiko migrate from inside the app directory.