🧚 Dengar! Beekeeper Studio adalah GUI database yang cepat, modern, dan open source Unduh
22 April 2025 Oleh Matthew Rathbone

Ruby on Rails adalah framework aplikasi web yang powerful dan sering dipuji karena kesederhanaannya serta filosofi convention over configuration. Namun, di balik kesederhanaan itu ada seperangkat tool andal yang dirancang untuk memudahkan hidup developer.

Salah satu tool tersebut adalah perintah rails generate migration. Perintah ini bisa Anda gunakan untuk mengubah skema database secara efisien, sehingga struktur database aplikasi tetap sinkron dengan codebase. Dalam panduan ini, kita akan membahas secara mendalam opsi command line yang tersedia untuk rails generate migration.

Memulai dengan Migration

Migration adalah cara untuk mengubah skema database Anda dari waktu ke waktu secara konsisten dan teratur. Anggap saja sebagai version control untuk database Anda.

Untuk panduan lengkap tentang dasar-dasarnya, lihat tutorial Cara Membuat Rails Migration kami.

Untuk membuat migration sederhana, gunakan:

rails generate migration AddFieldnameToTablename fieldname:string

Perintah ini akan menghasilkan file migration di direktori db/migrate.

Struktur Dasar File Migration

File migration biasanya terlihat seperti ini:

class AddFieldnameToTablename < ActiveRecord::Migration[6.0]
  def change
    add_column :tablename, :fieldname, :string
  end
end

Menjalankan Migration

Untuk menerapkan migration Anda, jalankan:

rails db:migrate

Perintah ini akan mengeksekusi method change dari setiap file migration baru dan memperbarui skema database Anda.

Opsi Command Line Lanjutan

Perintah rails generate migration dilengkapi banyak opsi yang memungkinkan Anda melakukan operasi database yang kompleks dengan mudah. Berikut beberapa di antaranya.

1. Menentukan Versi Rails

Saat bekerja dengan Rails migration, penting untuk dipahami bahwa versi migration ditentukan secara otomatis oleh versi aplikasi Rails Anda. Class migration akan mewarisi ActiveRecord::Migration dengan nomor versi yang sesuai berdasarkan versi Rails Anda.

2. Migration yang Reversible

Untuk perubahan yang tidak bisa dibalik secara otomatis, Anda bisa mendefinisikan method up dan down:

class AddDetailsToUsers < ActiveRecord::Migration[6.0]
  def up
    add_column :users, :details, :text
  end

  def down
    remove_column :users, :details
  end
end

Menggunakan method up dan down memberi Anda kontrol penuh atas cara migration dijalankan dan di-rollback.

3. Membuat Index Secara Otomatis

Menambahkan index pada kolom adalah kebutuhan umum untuk meningkatkan performa database. Gunakan modifier index untuk melakukannya.

Untuk informasi lebih detail tentang index, lihat panduan kami tentang Rails Migration: sintaks add index.

rails generate migration AddUserIdToPosts user_id:integer:index

Perintah ini membuat migration yang menambahkan field integer bernama user_id ke tabel posts dan otomatis membuat index untuknya.

4. Menambahkan Reference dan Foreign Key

Membuat relasi antar tabel sering kali melibatkan penambahan foreign key. Opsi references membuatnya jadi mudah:

rails generate migration AddCategoryRefToProducts category:references

Perintah ini menambahkan kolom category_id ke tabel products dan otomatis membuat index untuknya. Perintah ini juga menyiapkan constraint foreign key.

Pelajari lebih lanjut tentang bekerja dengan foreign key di panduan Rails Migration Foreign Key kami.

File Migration yang Dihasilkan:

class AddCategoryRefToProducts < ActiveRecord::Migration[6.0]
  def change
    add_reference :products, :category, foreign_key: true
  end
end

5. Mengganti Nama Kolom dan Tabel

Untuk mengganti nama kolom atau tabel, Rails menyediakan method bawaan:

rails generate migration RenameDescriptionInProducts

Lalu edit file yang dihasilkan secara manual:

class RenameDescriptionInProducts < ActiveRecord::Migration[6.0]
  def change
    rename_column :products, :description, :product_description
  end
end

Untuk mengganti nama seluruh tabel:

class RenameOldTableToNewTable < ActiveRecord::Migration[6.0]
  def change
    rename_table :old_table, :new_table
  end
end

Kesimpulan

Perintah rails generate migration adalah tool yang powerful dalam ekosistem Rails yang memungkinkan perubahan database secara presisi, scalable, dan mudah dipelihara. Dengan memanfaatkan opsi command line lanjutan ini, Anda bisa memaksimalkan script migration Anda dan memastikan aplikasi Rails Anda tangguh serta berperforma tinggi.

Jelajahi tutorial Rails migration terkait berikut:

Lain kali Anda mengubah skema database, pertimbangkan opsi mana yang paling bisa mempercepat proses development Anda. Selamat coding!

Beekeeper Studio Adalah GUI Database Gratis & Open Source

Tool query & editor SQL terbaik yang pernah saya pakai. Semua yang saya butuhkan untuk mengelola database ada di sini. - ⭐⭐⭐⭐⭐ Mit

Beekeeper Studio cepat, intuitif, dan mudah digunakan. Beekeeper mendukung banyak sekali database, dan berjalan mulus di Windows, Mac, dan Linux.

Versi Linux Beekeeper punya fitur 100% lengkap, tanpa potong kompas, tanpa kompromi fitur.

Apa Kata Pengguna tentang Beekeeper Studio

★★★★★
"Beekeeper Studio sepenuhnya menggantikan workflow SQL lama saya. Cepat, intuitif, dan membuat kerja dengan database jadi menyenangkan lagi."
— Alex K., Database Developer
★★★★★
"Saya sudah mencoba banyak GUI database, tapi Beekeeper punya keseimbangan sempurna antara fitur dan kesederhanaan. Langsung jalan."
— Sarah M., Full Stack Engineer

Siap Meningkatkan Workflow SQL Anda?

download Unduh Gratis