Jika Anda membutuhkan atau menginginkan fitur khusus database yang tidak dimengerti oleh ActiveRecord maka Anda harus beralih ke db/structure.sql
untuk melacak skema Anda. db/structure.sql
cukup banyak merupakan dump mentah dari skema Anda yang dibuat menggunakan alat asli database sehingga akan berisi pemicu, PERIKSA batasan, indeks pada hasil fungsi, dan yang lainnya.
Beralih itu mudah:
- Perbarui
config/application.rb
Anda berisiconfig.active_record.schema_format = :sql
. - Lakukan
rake db:structure:dump
untuk mendapatkandb/structure.sql
awal . - Hapus
db/schema.rb
dari pohon direktori dan kontrol revisi Anda. - Tambahkan
db/structure.sql
ke kontrol revisi. - Sesuaikan kebiasaan menyapu Anda:
- Gunakan
db:structure:dump
bukannyadb:schema:dump
- Gunakan
db:structure:load
bukannyadb:schema:load
- Gunakan
Segala sesuatu yang lain harus bekerja seperti biasa (tentu saja dengan asumsi bahwa Anda waras dan menggunakan PostgreSQL untuk pengembangan, pengujian, dan produksi).
Dengan perubahan ini, pemicu Anda akan dilacak di db/structure.sql
dan membuat ulang database tidak akan menghilangkannya.