Bir ray uygulamasında bekleyen taşıma işlemlerini gösteren bir komisyon görevi var mı?
Bir ray uygulamasında bekleyen taşıma işlemlerini gösteren bir komisyon görevi var mı?
Yanıtlar:
rake db:migrate:status
(Raylar 3 ila 5) veya rails db:migrate:status
(Raylar 5) bunu başaracaktır. Bkz bu taahhüt .
up
taşıma işleminin yürütüldüğü anlamına gelir. down
, taşıma işleminin yürütülmediği anlamına gelir.
rake -T
ama diğerleri görünüyor mu?
up
taşıma işleminin yürütüldüğü anlamına gelir. down
, taşıma işleminin yürütülmediği anlamına gelir.
Var rake db:abort_if_pending_migrations
(en azından Raylar 2.3.3'te, ne zaman tanıtıldığından emin değil). Açıklama 'Bekleyen taşıma işlemleri varsa bir hata oluşturur' yazıyor. Bu, diğer görevler için daha çok bir önkoşul olarak kullanılmış gibi görünüyor, ancak sanırım bunu amaçlarınız için kullanabilirsiniz.
EDIT: Yeni oluşturduktan ve bir 'test' taşıma çalıştırmadan sonra çıktıya bir örnek
rails_project theIV$ rake db:abort_if_pending_migrations
(in /Users/theIV/Sites/rails_project/)
You have 1 pending migrations:
20090828200602 Test
Run "rake db:migrate" to update your database then try again.
Bu komut, tüm taşıma işlemlerini durumlarıyla ( UP
veya DOWN
) listeler
Raylar 3 ve 4
rake db:migrate:status
Raylar 5
rake db:migrate:status
# Or
rails db:migrate:status
Komisyon -h (yardım) deneyin ve komisyon -n (= komisyon - kuru-çalışma) bir göz atın. Muhtemelen komisyon gibi bir şey -n db: migrate size istediğinizi elde etmelidir.
OP'nin istediği şey tam olarak olmayabilir, ancak herhangi bir taşıma işleminin bir komisyon görevinde kullanılmayı bekleyen olup olmadığını hızlıca kontrol etmeniz gerekiyorsa,
tırmık db: göç: durum | grep down (Windows'daysanız çalışmayabilir)
ActiveRecord :: Migration.check_pending! (kurtarmanız gereken ActiveRecord :: PendingMigrationError öğesini yükseltir)
ihtiyaçlar_migration kullanabilirsiniz? yöntem: https://apidock.com/rails/v4.0.2/ActiveRecord/Migrator/needs_migration%3F/class
ActiveRecord::Migrator.needs_migration?
in Rails 5.1
Ne kadar taşıma yapıldığını veya beklemede olduğunu görmek istiyorsanız aşağıdaki komutu kullanarak görebilirsiniz.
rails db:migrate:status
Bu bağlantı hakkında daha fazlası: Rails Active Record Migration
Bir geçişin yürütülüp yürütülmeyeceğini belirlemek için bir bash tek satırına ihtiyacınız varsa (örneğin, yalnızca bekleyen bir geçiş olduğunda bir Heroku yayınlama aşaması komutunda geçiş), bu işe yarar :
(rails db:migrate:status | grep "^\s*down") && rails db:migrate || echo "No pending migrations found."
Don't know how to build task 'db:migrate:status'
3.2.8