Setelah menginstal perangkat MODEL Pengguna saya mendapatkan ini.
class DeviseCreateUsers < ActiveRecord::Migration
def self.up
create_table(:users) do |t|
t.database_authenticatable :null => false
t.recoverable
t.rememberable
t.trackable
# t.encryptable
# t.confirmable
# t.lockable :lock_strategy => :failed_attempts, :unlock_strategy => :both
# t.token_authenticatable
t.timestamps
end
add_index :users, :email, :unique => true
add_index :users, :reset_password_token, :unique => true
# add_index :users, :confirmation_token, :unique => true
# add_index :users, :unlock_token, :unique => true
# add_index :users, :authentication_token, :unique => true
end
def self.down
drop_table :users
end
end
Sekarang jika saya melakukan rake db: migrasi tabel pengguna akan dibuat.
Bagaimana cara mengembalikan migrasi ini, yaitu bagaimana cara menghapus tabel pengguna menggunakan rake lagi?
ruby-on-rails
ruby-on-rails-3.1
migration
rake
database-migration
dengan tangkas
sumber
sumber
UnknownMigrationVersionError
tetapi saya mengetahuinya karena migrasi saya ada di dalamdb/migrate/main
, apakah ada yang tahu solusi untuk ini dengandb:migrate:down
melihat ke dalam direktori tertentu atau subdirektori migrasi?Jalankan saja perintah ini:
sumber
Saya yakin ada tiga opsi yang tersedia untuk mengembalikan migrasi (mereka juga tumpang tindih):
Turunkan migrasi terbaru :
rake db:migrate:down
# Rel 2 saja.Gulir ke bawah sejumlah (n) migrasi baru - baru ini:
rake db:rollback STEP=n
Roll down ke versi sebelumnya, spesifik :
$ rake db:migrate:down VERSION=nnn
# Rails 3 (berikan juga nomor versi).Nomor Versi berarti SHA (Secure Hash Algorithm) untuk komit yang merupakan bilangan heksadesimal panjang yang terlihat seperti 886af3194768917c78e ... Anda dapat melihatnya dengan melakukan
git log
Anda dapat melihat perintah-perintah ini (dan lainnya) dengan deskripsinya dengan menggunakan
rake -T db:
yang untuk rails 3.2 meliputi:sumber
rake db:migrate VERSION=<version number>
rake db:migrate:down
kegagalan tunggal dengan pesan kesalahan "VERSION diperlukan". The direkomendasikanrake db:rollback
namun bekerja.STEP
danVERSION
$ rake db:migrate:down VERSION=nnn
tidak menggulung ke bawah untuk versi, itu bermigrasi ke bawah dengan versi yang ditentukan.Anda dapat melakukan rollback dan menentukan berapa banyak migrasi terakhir yang akan di-rollback, misalnya
untuk 3 migrasi terakhir.
sumber
Sebagai programmer baru (atau programmer baru lainnya)
rake db:rollback
bekerja sekitar separuh waktu. Saya mulai dari sana.Jika tidak,
rake db:migrate:down VERSION=3846656238
colokkan VERSION untuk nomor versi file migrasi yang ingin Anda kembalikan.
sumber
Ini akan membatalkan dan menerapkan kembali migrasi terakhir.
sumber
Untuk rel 5 bisa kita gunakan
rails command instead of rake
contoh
sumber
Jalankan perintah ini di terminal Anda:
atau
Ini menunjukkan status, ID migrasi, nama migrasi untuk semua migrasi yang kami jalankan sebelumnya. pilih id migrasi Anda (yaitu nomor versi Anda) dan masukkan id itu di perintah berikut setelah versi = ,,, dan tekan enter
sumber
Cara mengembalikan migrasi
(1) Pertama Identifikasi ID Migrasi
rake db:migrate:status
(2) Kemudian Kembalikan migrasi
rake db:migrate:down VERSION=20190802023239
....... dan sekarang Anda berangkat ke balapan!
sumber