Study
Ruby on Rails

Active Record: Models & Migrations

Penjelasan

Active Record adalah ORM (Object-Relational Mapping) bawaan Rails yang menghubungkan class Ruby dengan tabel database. Setiap model mewarisi `ApplicationRecord` dan otomatis dipetakan ke tabel dengan nama jamak dari nama model (model `Catatan` -> tabel `catatans`). Untuk mengubah struktur database (membuat tabel, menambah kolom, dst), Rails memakai migration — file bertimestamp di `db/migrate/` yang berisi perubahan skema secara terprogram, sehingga histori perubahan database bisa dilacak lewat version control seperti kode biasa. Alur umumnya: `rails generate model Catatan judul:string isi:text` membuat file model sekaligus migration, lalu `rails db:migrate` menjalankan migration tersebut ke database.

Contoh Konsep

# Generate model + migration sekaligus
rails generate model Catatan judul:string isi:text

# Jalankan migration ke database
rails db:migrate

# Rollback migration terakhir kalau ada kesalahan
rails db:rollback

Contoh Isi Migration

# db/migrate/20260101000000_create_catatans.rb
class CreateCatatans < ActiveRecord::Migration[7.1]
  def change
    create_table :catatans do |t|
      t.string :judul
      t.text :isi

      t.timestamps
    end
  end
end

Praktikum

Generate model `Catatan` dengan kolom `judul` (string) dan `isi` (text), lalu jalankan migration-nya.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Jangan pernah edit migration lama yang sudah pernah dijalankan di tim/production — buat migration baru untuk perubahan lanjutan. Kolom `t.timestamps` otomatis menambahkan `created_at` dan `updated_at` yang dikelola otomatis oleh Active Record.