2013-03-02 19 views

cevap

98

The rake db:migrate above runs any pending migrations on the development environment and updates db/schema.rb. The rake db:test:load recreates the test database from the current db/schema.rb. On subsequent attempts, it is a good idea to first run db:test:prepare, as it first checks for pending migrations and warns you appropriately.

- http://guides.rubyonrails.org/testing.html

Temel olarak test veritabanını güncellemek için teste karşı geçişleri çalıştırmak zorunda kalmamak veritabanı klonlama işler.

+0

mükemmel "PG :: undefinedTable: hATA ilişkisi xxxxx yok”, teşekkürler! – bengem

+17

'rake db: test: hazırla 'artık kullanımdan kaldırıldı. – Jngai1297

+3

yukarıda url öldü, bu yeni bir tane olacak https://github.com/rails/rails/blob/4-1-stable/activerecord/CHANGELOG.md#rails-410-april-8-2014 – riffraff

32

Özellikle, rake db:test:prepare aşağıdakileri: bir deney şeması

bekleyen taşıma işlemlerinde

  • Kontrolü ve
  • ve yük, bu olmadığını belirlemek için db/schema.rb dosya bakacağız Projenizde bulunmayan tüm geçişler. Olağanüstü geçişler olmadığı varsayıldığında, veritabanını boşaltır ve db/schema.rb dosyasının içeriğine göre yeniden yükler.

2

Rakı db: test: hazırlamak, this gibi PG sorunları için iyi bir çözümdür.

“PG :: UndefinedTable: HATA: ilişkisi yok” doğru Raylar adlandırma ve bir test veritabanı oluşturmak olamaz örneğin, ben sadece rake db:migrate RAILS_ENV=production

yürütmek could kongre" ile hata here tartışılan: "PG undefinedtable hata ilişkisi kullanıcıların yok"

Bütün bu hatanın civarı

+0

Bu bağlantı soruyu yanıtlayabilirken, önemli parçaları dahil etmek daha iyidir cevabın burada ve referans için bağlantı sağlar. Bağlantılı sayfa değiştiğinde yalnızca bağlantı yanıtları geçersiz olabilir. – Patrick

+0

Üzgünüz, açıklamalar ile düzenlenmiş –

İlgili konular