3 votes

SyncDB après l'installation d'une nouvelle application ayant déjà installé South - je ne veux pas tout gâcher

J'utilise South pour gérer les tables de ma base de données (MySQL) pour un projet Django 1.4, cela fonctionne très bien.

C'est un peu une question de débutant, mais j'ajoute maintenant sorl.thumbnail ( http://sorl-thumbnail.readthedocs.org/en/latest/installation.html#installation ) à la liste des applications installées dans le fichier de configuration.

Les instructions indiquent que je dois maintenant utiliser syncdb si j'utilise un "cached database key value store".

Est-ce que je peux continuer et utiliser syncdb ? Je ne suis pas sûr que mon installation MySQL+South compte pour une seule. Est-ce que cela va provoquer des problèmes ?

1voto

marianobianchi Points 1863

Si je ne me trompe pas, lorsque vous commencez à utiliser South, vous ne devez plus jamais utiliser Syncdb. A la place, vous devez utiliser schemamigration ou d'autres commandes spécifiques au sud.

Ici vous pouvez trouver ce que vous cherchiez. Je cite ici la phrase qui devrait vous éclairer :

La principale utilisation de schemamigration est lorsque vous venez de terminer votre tout nouveau models.py et que vous voulez charger votre base de données. Dans un Django classique, il suffit d'exécuter syncdb. Cependant, avec les migrations, vous aurez besoin d'une migration pour créer les tables.

Dans ce scénario, vous vous contentez de courir :

./manage.py schemamigration myapp --initial

Cela permettra d'écrire une seule grande migration pour créer toutes les tables pour les modèles de votre application ; exécutez simplement ./manage.py migrate pour l'intégrer et et vous avez terminé en une seule étape de plus que syncdb !

J'espère que cela vous aidera !

-2voto

PepperoniPizza Points 3656

Syncdb n'interfère pas avec South, en fait, pour installer une nouvelle application vous devez toujours utiliser syncdb en premier, puis appliquer South pour les migrations si vous en avez. Donc, oui, vous n'allez pas avoir de problème.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X