SORU
30 AĞUSTOS 2008, CUMARTESİ


Django yer değiştirme veritabanı tabloları

Olduğumu düşünürsek kullanarak Django için bir projeye başladım (bilginize, tarayıcı tabanlı bir oyun) ve bir özellik ben sevme en çok kullanan syncdb otomatik olarak oluşturmak veritabanı tabloları dayalı Django modelleri define (bir özellik ben bulamıyorum başka bir çerçeve). Zaten bu documentation Bu görünce: gerçek olamayacak kadar iyi olduğunu düşündüm

Syncdb varolan tabloları değiştirmez

syncdb sadece henüz yüklenmemiş olan modeller için bir tablo oluşturmak. Asla ALTER TABLE deyimleri değişiklikleri yüklemeden sonra model bir sınıf için yapılan maç için sorun olacaktır. Model sınıfları ve veritabanı şema değişiklikleri genellikle belirsizlik çeşit içeren ve, bu durumda, Django yapmak için doğru değişiklikleri tahmin etmek zorunda. Kritik veri sürecinde kaybedilecek bir risk var.

Eğer yaptığınız değişiklikler için bir model ve dilek için alter veritabanı tabloları eşleştirmek için kullanın sql komutu görüntülemek için yeni bir SQL yapısı ve karşılaştırmak için varolan bir tablo şema için iş değişir.

Varolan tabloları değiştirme yapılması gerekecek gibi görünüyor "elle".

Bilmek istediğim bunu yapmak için en iyi yoldur. İki çözüm akla geliyor:

  • Belgelere anlaşılacağı gibi değişiklikleri DB el ile yapmak;
  • Bir yedek veritabanı, silin, yeniden oluşturun tabloları (syncdb beri artık oluşturma tabloları sıfırdan) ve ithalat yedeklenmiş verileri (bu belki çok uzun eğer veritabanı büyük)

Herhangi bir fikir?

CEVAP
30 AĞUSTOS 2008, CUMARTESİ


El ile SQL değişiklikleri ve döküm/yeniden yükleme yaparken iki seçenek vardır, ama aynı zamanda Django için şema evrim paketleri bazı kontrol etmek isteyebilirsiniz. En olgun seçenekleri django-evolution South vardır.

EDİTVe hey, geliyor dmigrations.

GÜNCELLEMEBu cevap yazıldıktan bu yana, django-evolution dmigrations aktif gelişimini durdurmuş ve South Django şema geçiş için de-facto standart haline gelmiştir. Güney kısımları bile bir ya da iki sonraki sürümü içinde Django entegre olabilir.

GÜNCELLEME: Şema göçler çerçevesinde Güney dayanan (ve Andrew Godwin, Güney yazar tarafından yazılmış) Django 1.7 dahildir .

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Creavite

    Creavite

    8 Mart 2009
  • Gimpology.com Video Tutorials

    Gimpology.co

    3 ŞUBAT 2008
  • infiniTuts

    infiniTuts

    18 Ocak 2012