Lewati ke konten utama
menjadi.dev
Backend

Migration (Database)

File yang merekam dan menerapkan perubahan schema database secara terkontrol.

Database Migration adalah file yang mendefinisikan perubahan schema database (tambah tabel, tambah kolom, ubah tipe data, buat index) dalam bentuk kode — bisa dijalankan (up) dan di-rollback (down). Migration memastikan schema database konsisten antar environment (dev, staging, production) dan antar developer dalam tim. Tanpa migration, perubahan database harus diterapkan manual — rentan error dan tidak terdokumentasi. Tools migration populer: Drizzle Kit, Prisma Migrate, Knex migrations, Laravel Migrations, Flyway, Liquibase. Migration harus di-commit ke version control bersama kode aplikasi.

Contoh Kode

// Drizzle migration example
import { pgTable, serial, varchar, timestamp } from 'drizzle-orm/pg-core';

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

// Run migration: npx drizzle-kit migrate

Istilah Terkait