2010-11-22 2 views
0

J'ai un site Django en direct qui a déjà des utilisateurs enregistrés. J'essaye de mettre à jour le site avec une nouvelle version qui est différente de l'idée originale du site -similar mais différents modèles.Comment gérez-vous les données utilisateur lors de la mise à jour d'un site Django?

Comment puis-je conserver les utilisateurs actuels sur le nouveau site?

J'ai entendu dire que South peut être une bonne solution, mais l'ancien site ne l'a pas installé. Est-il possible d'utiliser le Sud dans ce cas?

Merci pour l'aide!

Répondre

0

+1 au Sud, mais ...

Nous avons besoin plus d'informations! Apportez-vous des changements radicaux à vos modèles, ou simplement en ajoutant ou en supprimant des champs ici ou là?

South peut gérer des migrations assez radicales, mais vous devrez écrire du code de migration personnalisé. Personnellement, j'utilise South si j'ajoute un nouveau champ, mais pas pour ce genre de choses plus radicales.

S'il s'agit d'un gros changement de schéma, en réorganisant complètement votre site, alors j'écrirais simplement votre propre script pour lire les anciens objets et en créer de nouveaux. Faites une copie de votre base de données de production (via pg_dump, mysqldump, etc.) et chargez-la sur votre machine locale, où vous pouvez tester et déboguer le script de conversion personnalisé. Assurez-vous que vos "anciens modèles" et "nouveaux modèles" ont des noms différents, et gardez tout dans votre settings.py afin que vous puissiez toujours lire & tout écrire.

Ecrivez & Testez le script de migration, puis, après cela, vous pouvez créer une autre liste de modifications pour supprimer tous les anciens objets, puis supprimer le code source correspondant si vous le souhaitez.

Questions connexes