DocsDatabasesSchema & Migrations

Databases

Schema & Migrations

Manage your database schema with Drizzle or Prisma migrations.

Running migrations

Syvera supports all major migration tools for PostgreSQL. Here's how to use the most common ones.

Drizzle ORM

Install

bash
npm install drizzle-orm drizzle-kit pg

Define schema (src/db/schema.ts)

ts
import { pgTable, serial, text, timestamp } from 'drizzle-orm/pg-core';

export const users = pgTable('users', {
  id: serial('id').primaryKey(),
  email: text('email').notNull().unique(),
  createdAt: timestamp('created_at').defaultNow(),
});

Generate and run migrations

bash
npx drizzle-kit generate
npx drizzle-kit migrate

Prisma

Install

bash
npm install prisma @prisma/client
npx prisma init

Define schema (prisma/schema.prisma)

prisma
model User {
  id        Int      @id @default(autoincrement())
  email     String   @unique
  createdAt DateTime @default(now())
}

Run migrations

bash
npx prisma migrate dev --name init
npx prisma generate

Running migrations automatically

Add your migration command to the run script in .syvera so it runs on every startup:

toml
run = "npx drizzle-kit migrate && node index.js"