2009-10-29 20 views

risposta

16

C'è un'utilità chiamata manage.py inspectdb per generare modelli dal database esistente. Funziona piuttosto bene.

$ python manage.py inspectdb > models.py 
+2

Sì, di Django 'gestire inspectdb' dovrebbe essere quello che stai cercando. – Michael

3

Se il tuo database non è molto semplice - o molto ben progettato - lo troverai poco adatto a Django.

Mentre il reverse engineering funziona bene, è possibile che il progetto del database originale fosse difettoso e che ci fossero un sacco di soluzioni alternative goffe.

La domanda è uno di "software legacy" che funziona con il vecchio modello di dati.

Suggerirei di fare quanto segue.

  1. Progettare il modello di dati corretto, utilizzando Django.

  2. Mappa il modello corretto per qualunque cosa tu abbia.

  3. Scrivere uno script di conversione che utilizza SQL semplice e diretto e l'ORM Django per migrare i dati da non-Django-friendly a un modello migliore.

    • Se si dispone di software legacy, è necessario elaborare un programma di spostamento dati appropriato.

    • Se non si dispone di alcun software legacy, questa conversione verrà eseguita una volta.

Problemi correlati