2009-10-29 5 views

Répondre

16

Il existe un utilitaire appelé manage.py inspectdb pour générer des modèles à partir de votre base de données existante. Cela fonctionne plutôt bien.

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

Oui, 'django de gérer inspectdb' devrait être ce que vous recherchez. – Michael

3

Si votre base de données n'est pas très simple - ou très bien conçue - vous ne la trouverez pas adaptée à Django.

Bien que le reverse engineering fonctionne bien, vous pouvez trouver que la conception originale de base de données était défectueuse et vous avez beaucoup de solutions de contournement maladroites.

La question est l'un des «logiciels hérités» qui fonctionne avec l'ancien modèle de données.

Je vous suggère de faire ce qui suit.

  1. Créez le modèle de données correct en utilisant Django.

  2. Mappez le bon modèle à celui que vous avez.

  3. Ecrivez un script de conversion qui utilise SQL simple et direct et l'ORM Django pour migrer les données d'un modèle non-Django vers un meilleur modèle.

    • Si vous avez un logiciel existant, vous devrez établir un programme de transfert de données approprié.

    • Si vous n'avez aucun logiciel existant, vous exécuterez cette conversion une seule fois.

Questions connexes