Ruby on Rails

Migrasi tingkat lanjut

Migrasi kompleks, reversible migrations, migrasi data, rollbacks, constraint DB vs validasi, safe migrations

20 pertanyaan wawancara·
Mid-Level
1

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.

2

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.

3

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.

4

Mengapa harus menghindari penggunaan referensi model ActiveRecord dalam migrasi data?

5

Apa praktik terbaik untuk melakukan migrasi data di produksi pada tabel besar?

+17 pertanyaan wawancara

Kuasai Ruby on Rails untuk wawancara berikutnya

Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.

Mulai gratis