
Migrasi tingkat lanjut
Migrasi kompleks, reversible migrations, migrasi data, rollbacks, constraint DB vs validasi, safe migrations
1Apa perbedaan antara metode change dan up/down dalam sebuah migrasi Rails?
Apa perbedaan antara metode change dan up/down dalam sebuah migrasi Rails?
Jawaban
Metode change adalah sintaks yang disederhanakan yang diperkenalkan di Rails 3.1 yang memungkinkan Rails menyimpulkan operasi kebalikannya secara otomatis. Ini bekerja untuk sebagian besar operasi umum seperti add_column atau create_table. Metode up dan down memberikan kontrol eksplisit atas operasi penerapan dan rollback, yang diperlukan ketika Rails tidak dapat menyimpulkan kebalikannya secara otomatis, seperti saat penghapusan data atau transformasi yang kompleks.
2Bagaimana cara membuat sebuah migrasi reversible ketika Rails tidak dapat menyimpulkan operasi kebalikannya secara otomatis?
Bagaimana cara membuat sebuah migrasi reversible ketika Rails tidak dapat menyimpulkan operasi kebalikannya secara otomatis?
Jawaban
Blok reversible memungkinkan mendefinisikan operasi up dan down secara eksplisit di dalam sebuah metode change. Ini sangat berguna untuk operasi seperti remove_column di mana Rails perlu mengetahui tipe dan opsi kolom untuk membuatnya kembali saat rollback. Blok reversible menawarkan fleksibilitas up/down sambil mempertahankan sintaks change yang modern.
3Perintah mana yang memungkinkan rollback beberapa migrasi dalam satu operasi?
Perintah mana yang memungkinkan rollback beberapa migrasi dalam satu operasi?
Jawaban
Perintah rails db:rollback STEP=n memungkinkan rollback n migrasi terakhir yang dijalankan. Misalnya, STEP=3 akan me-rollback tiga migrasi terakhir dalam urutan terbalik dari eksekusinya. Tanpa opsi STEP, hanya migrasi terakhir yang di-rollback. Perintah ini berguna untuk dengan cepat kembali ke keadaan database sebelumnya selama pengembangan.
Mengapa harus menghindari penggunaan referensi model ActiveRecord dalam migrasi data?
Apa praktik terbaik untuk melakukan migrasi data di produksi pada tabel besar?
+17 pertanyaan wawancara
Topik wawancara Ruby on Rails lainnya
Dasar-Dasar Ruby
Pemrograman Berorientasi Objek di Ruby
Dasar-Dasar Rails
Routing & Controllers
Dasar-Dasar ActiveRecord
Views & Template ERB
Asosiasi ActiveRecord
Kueri ActiveRecord Lanjutan
Formulir Rails
Autentikasi & Otorisasi
Asset Pipeline modern & frontend
Mode API Rails
Pengujian dengan RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Strategi Caching
Rails Engines & Aplikasi Modular
Optimasi Performa
Design Pattern Rails
Metaprogramming Ruby
Keamanan Rails
GraphQL dengan Rails
Deployment & Produksi
Monitoring & Logging
Strategi Upgrade Rails
Kuasai Ruby on Rails untuk wawancara berikutnya
Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.
Mulai gratis