0

Taşıma dosyalarımdan bir tanesi, geçiş sırasının sonuna kadar oluşturulacak başka bir tablo/modele başvurmaktır.Geçiş dosyalarındaki yeniden sıralama/değiştirme zaman damgası

Postgres o sevmez:

PG::UndefinedTable: ERROR: relation "users" does not exist

elle (yeni zaman damgaları/önekleri icat ederek) göç dosyalarını yeniden sıralamak için herhangi bir potansiyel sorunlar varsa Yani acaba?

Etkilenen tablolar zaten taşınmış durumda.

cevap

2

rake db:migrate komutunu çalıştırdığınızda, db/migrate klasöründe bulunan schema_migrations tablosu ve geçiş dosyalarını karşılaştırır. Yürütülmeyen tüm geçişler daha sonra MigrationClass#up numaralı telefonu alır.

Kodunuzun zaten yayınlandığı ve/veya geçişler başka kullanıcılar tarafından çalıştırıldığı noktadan başlayarak, geçişlerinizin zaman damgalarını/adlarını değiştirmek, işlenemeyen geçiş yordamına neden olabilir (schema_migrations değişmiş zaman damgasıyla geçişi yeni olarak ele alacağından, işlenmemiş biri ve "tekrar" işlemeye çalışın. Bunun olası bir çözümü, bir süreliğine up yönteminin içeriğini yorumlamak ve geçişler yapıldıktan sonra geri almak olacaktır. Eğlence için, schema_migrations tablosunu doğrudan db konsolunuzdan da (gerekli kayıtları ekleyerek veya kaldırarak) değiştirebilirsiniz. Her iki şekilde de olsa bir hack gibi kokuyor.

O zamana kadar ... Her şey kusursuz çalışmalı.