2009-05-12 7 views
6

Django ha una serie di progetti open source che affrontano una delle più notevoli missing features del quadro: il modello "evoluzione". Ruby on Rails ha il supporto nativo per migrations, ma io sono curioso di sapere se qualcuno può raccomandare uno dei seguenti progetti Django "Evolution":Come è possibile migrare i modelli Django in modo simile alle migrazioni di Ruby on Rails?

+1

Ottima domanda !! Spero di usare anche qualcosa come le migrazioni con Django. – NathanD

+0

Vedi anche questa domanda: http://stackoverflow.com/questions/426378/che-è-sua-favorite-soluzione-for-management-database-migrations-in-django anche se la risposta preferita è migratoria, che ha problemi . –

risposta

10

Sud ha il più vapore dietro di esso. le emigrazioni sono troppo IMO di base. urla di django-evolution se mai tocchi il db al di fuori di esso.

del Sud è il più forte in assoluto. Con il modello di congelamento e migrazioni automatiche ha fatto molta strada.

+0

Sono rimasto impressionato da South, ma anche il django-evolution mi è sembrato interessante. Salvo altre risposte nelle prossime ore di coppia, andrò con questo. – Huuuze

+0

Se si sta utilizzando uno strumento di evoluzione, non si dovrebbe toccare il DB al di fuori di esso, quindi non lo vedo più di un argomento. –

5

Sud e django-evoluzione sono certamente le migliori opzioni. Il modello di South di congelamento dei modelli e auto-suggerimento sono ancora piuttosto fragili nella mia esperienza (l'accenno del django-evolution è molto più robusto nei casi limite), ma lo sviluppo del django-evolution sembra essersi per lo più in stallo dalla scorsa estate. Se stessimo iniziando ora probabilmente sceglierei Sud, soprattutto per quel motivo.

1

Sono un membro del team che ha sviluppato dmigrations - ma io consiglio vivamente Sud. È molto più maturo, è in fase di sviluppo attivo e ha alcune caratteristiche killer come il congelamento ORM (se provi ad usare il codice ORM in dmigrations, poi cambia i tuoi modelli, sei in un mondo di dolore).

2

Dopo aver letto questo, sono andato da 'sapere nulla di modello di dati sull'evoluzione' a 'utilizzando sud per gestire modello di migrazione' in meno di 1 ora. La documentazione di South è eccezionale e mi ha dato la giusta velocità a tempo di record. Non avendo guardato gli altri strumenti citati, lo consiglio vivamente.

Aggiornamento: Dopo aver postato questa risposta circa un mese fa, ho esaminato diverse revisioni di modelli di dati, che vanno dalla semplice ridenominazione dei campi alla sostituzione completa di alcune tabelle con nuove. South non può fare tutto in un modo completamente automatico (ad esempio un rinominare sembra cancellare & add), ma la documentazione guida senza problemi attraverso i passaggi manuali.

mi porterà a sud in qualsiasi progetto futuro. Strumento fantastico!