SORU
7 Ocak 2011, Cuma


'göç geçmişi kullanarak sıfırlama için önerilen yaklaşım ne Django Güney?

Birim benim testlerde bir hayli zaman tüketmeye başlayan epeyce göçler Güney kullanma (0.7) ve Django (1.1.2) birikmiş. Temel reset ve göçler yeni bir dizi başlamak istiyorum. South documentation bitti her zamanki Google/Stackoverflow arama inceledim ("django Güney (sıfırlamak YA da silmek VEYA kaldırmak) geçiş tarihi") ve bir şey bulamadı bariz. örneğin

Bir yaklaşıma sahibim düşünürken ki dahil "yeni bir başlangıç" ile "kaldırma" Güney ya "takas" tarih el ile (örneğin, açık db tablo, Kaldır geçiş dosyalarından göçler yönetmen) ve yeniden çalıştırın

./schemamigration southtut --başlangıç manage.py

Kimse bunu daha önce yaptı ve bazı ipuçları/öneri varsa, çok minnettar olacaktır.

CEVAP
24 Ocak 2013, PERŞEMBE


Eğer seçmeli olarak (sadece bir uygulama için) çok uzun zaman alıyor göçler sıfırlamak için gerekiyorsa, this benim için çalıştı.

rm <app-dir>/migrations/*
python manage.py schemamigration <app-name> --initial
python manage.py migrate <app-name> 0001 --fake  --delete-ghost-migrations

Unutma el ile geri herhangi bir dependencies Diğer uygulamalar tarafından ekleme vs. depends_on = (("<other_app_name>", "0001_initial"),("<yet_another_app_name>", "0001_initial")) <app-dir>/migrations/0001_initial.py dosyası olarak ilk öznitelik geçiş sınıfı hemen altında class Migration(SchemaMigration):.

Sonra da diğer ortamlar this SO answer başına ./manage.py migrate <app-name> --fake --delete-ghost-migrations. Sahte silmek veya sahte migrate zero tabii eğer elle herhangi bir yere bıraktı this gibi bir geçiş ile db tabloları silmeniz gerekir.

Daha fazla nükleer bir seçenek 7 ** canlı dağıtım sunucusu [benim]sqldump izledi. [] İçine dökümü o boru geçirilmesi gereken ortamlarda, tam olarak doldurulan db sql. Güney saygısızlık, biliyorum, ama benim için çalıştı.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • eurotuner

    eurotuner

    6 Mart 2006
  • NYCarspotter

    NYCarspotter

    26 EYLÜL 2011
  • Simon Hayter

    Simon Hayter

    20 HAZİRAN 2010