Sepertinya yang berikut ini benar:
20120525005302_create_users.rbakan mencoba membuatuserstabel di database Anda.20120611000411_devise_create_users.rbjuga akan mencoba membuatuserstabel dalam database.- Basis data Anda saat ini sudah memiliki
userstabel 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.rbjika kosong.) - Ubah
20120611000411_devise_create_users.rbAnda migrasi untuk menghapususersyang ada meja sebelum melakukan hal lain. - Ubah
20120611000411_devise_create_users.rbAnda migrasi sebagai berikut:- Alih-alih membuat
userstabel, 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