Skip to content
RELKIT
Esc
↑↓navigate↵open⌘Jpreview

One migration history, run by RELKIT

Database migrations now live beside the service that owns them, and installed RELKIT tooling runs them for every dialect.

On this page
  1. Migrations beside their service
  2. One command to apply them

A migration applies a reviewed schema change to a database. RELKIT has always generated those migrations from your TypeScript tables with Drizzle Kit. What changed is where the history lives and who runs it.

Migrations beside their service

Generated SQL and its metadata now stay in src/services/database/migrations, next to the service and schema that own them. Auth tables and business tables share that one ordered history. The .relkit/ folder only holds ignored runtime and build output, never migration source.

One command to apply them

Shared migration execution moved into installed RELKIT tooling:

bun --bun drizzle-kit generate --name=initial
bun run db:migrate

db:migrate runs relkit db migrate. SQLite uses the Bun-native driver with no copied runner, while PostgreSQL and MySQL delegate to the Drizzle Kit your application already installs.

check, build, and dev still never apply migrations for you. Migrate first, then start code that depends on the new shape.

All posts