Migrations

Manage database schema changes with automatic migration generation

Generate Migrations

Stabilize automatically generates migrations from your model definitions:

scripts/generate-migration.tstypescript
import { generateMigration, DBType } from "stabilize-orm";
import { User } from "./models/User";
const migration = await generateMigration(
User,
"create_users_table",
DBType.Postgres
);
console.log("Up queries:", migration.up);
console.log("Down queries:", migration.down);

Run Migrations

Execute migrations to update your database schema:

scripts/run-migrations.tstypescript
import { runMigrations } from "stabilize-orm";
import dbConfig from "./db-config";
const migrations = [
{
name: "create_users_table",
up: ["CREATE TABLE users (...)"],
down: ["DROP TABLE users"]
}
];
await runMigrations(dbConfig, migrations);

Migration Tracking

Stabilize automatically tracks which migrations have been applied using the stabilize_migrationstable.