Aşağıdaki geçiş dosyasına sahibim db\migrate\20100905201547_create_blocks.rb
Bu geçiş dosyasını özellikle nasıl geri alabilirim?
rake db:rollback STEP=1
Geri almak istediğiniz geçiş en son uygulanan geçişse, bunu yapmanın bir yolu var mı? Geri dönmek istediğiniz geçiş sayısı kadar 1 yerine geçebilirsiniz.
Örneğin:
rake db:rollback STEP=5
Daha sonra gerçekleşen tüm geçişleri de geri alacaktır (4, 3, 2 ve ayrıca 1).
Tüm geçişleri bir hedef geçişe kadar (ve hedef geçiş dahil) geri almak için şunu kullanın: (Bu düzeltilmiş komut, orijinal gönderideki hataya işaret eden tüm yorumlardan SONRA eklenmiştir)
rake db:migrate VERSION=20100905201547
SADECE BİR belirli geçişi geri almak için (SIRA DIŞI) kullanın:
rake db:migrate:down VERSION=20100905201547
Bunun araya giren geçişleri GERİ ALMAYACAĞINI unutmayın -- yalnızca listelenen geçişi. Eğer amaçladığınız bu değilse, rake db:migrate
komutunu güvenli bir şekilde çalıştırabilirsiniz ve daha önce geri alınmamış olan diğerlerini atlayarak sadece bunu yeniden çalıştıracaktır.
rake db:migrate:down VERSION=20100905201547
belirli bir dosyayı geri alacaktır.
Tüm geçişlerin sürümünü bulmak için bu komutu kullanabilirsiniz:
rake db:migrate:status
Ya da basitçe geçişin dosya adının öneki, geri almanız gereken sürümdür.
Geçişler hakkında Ruby on Rails rehber girişi adresine bakın.
Farklı seçeneklerle rake db:rollback
kullanarak geçişinizi geri alabilirsiniz. Sözdizimi gereksinimlerinize göre farklı olacaktır.
Yalnızca son geçişi geri almak istiyorsanız, şu seçeneklerden birini kullanabilirsiniz
rake db:rollback
veya
rake db:rollback STEP=1
Bir kerede çok sayıda geçişi geri almak istiyorsanız, bir argüman iletmeniz yeterlidir:
rake db:rollback STEP=n
burada n
geri alınacak geçiş sayısıdır ve son geçişten itibaren sayılır.
Belirli bir geçişe geri dönmek istiyorsanız, geçişin sürümünü aşağıdaki şekilde iletmelisiniz:
rake db:migrate:down VERSION=xxxxx
burada xxxxx geçişin sürüm numarasıdır.