Sepertinya yang berikut ini benar:
20120525005302_create_users.rb
akan mencoba membuatusers
tabel di database Anda.20120611000411_devise_create_users.rb
juga akan mencoba membuatusers
tabel dalam database.- Basis data Anda saat ini sudah memiliki
users
tabel di dalamnya, sehingga migrasi gagal pada migrasi kedua.
Untuk mendapatkan users
tabel di database Anda agar sesuai dengan 20120611000411_devise_create_users.rb
migrasi, Anda dapat melakukan salah satu dari dua hal:
- Putar kembali (atau jatuhkan) database, lalu jalankan migrasi lagi. (Anda dapat menghapus
20120525005302_create_users.rb
jika kosong.) - Ubah
20120611000411_devise_create_users.rb
Anda migrasi untuk menghapususers
yang ada meja sebelum melakukan hal lain. - Ubah
20120611000411_devise_create_users.rb
Anda migrasi sebagai berikut:- Alih-alih membuat
users
tabel, ubah tabel yang ada. - Tambahkan dan ubah komponen basis data agar sesuai dengan
- Alih-alih membuat
Umumnya, jika aplikasi Anda dalam "kondisi bayi", maka membuat ulang database cenderung menjadi cara cepat untuk membangun struktur awal aplikasi. Namun jika Anda sudah memiliki data penting di users
tabel, Anda ingin menyimpannya dan melanjutkan dengan memodifikasi 20120611000411_devise_create_users.rb
migrasi untuk mengubah database secara non-destruktif.
Referensi