J'utilise django south sur un projet plus important, la seule chose que je n'aime pas, c'est que vous ne pouvez pas créer de schemamigrations pour toutes vos applications à la fois (J'ai beaucoup d'applications qui héritent du même modèle abstrait, si je change ce modèle de base il y a beaucoup d'applications à migrer) - pensé que vous pouvez réellement les migrer tous en même temps (en utilisant migrate --all). Je voudrais savoir s'il existe une solution facile pour django south de gérer un tas d'applications à la fois ou si quelqu'un a un bon script prêt à le faire?Django South: Création de schemamigration pour plusieurs applications
Répondre
Première chose: des applications distinctes devraient limiter les interactions du modèle
maintenant qu'il a dit, nous allons embrasser la contrainte. Aucun sud ne peut pas créer un seul fichier de migration pour de nombreuses applications et je ne sais pas comment générer de nombreuses migrations pour de nombreuses applications dans une seule commande manage.py.
Tout ce qui vous reste est un script maintenant. Vous pouvez utiliser le tissu incroyable http://docs.fabfile.org/ d'avoir une seule commande pour générer vos migrations:
APPS_TO_WATCH = ['myapp','myotherapp','toomanyapps']
def migration():
for app in APPS_TO_WATCH:
local('python manage.py schemamigration %s --auto' % app)
puis appeler à l'aide migration fab
Ce n'est pas tout à fait une réponse à votre question, mais peut-être aider en fonction exactement de ce que vous essayez de faire.
Vous pouvez définir des migrations en fonction des migrations d'autres applications. Par exemple:
class Migration(SchemaMigration):
depends_on = (
("other_app", "0001_initial"),
)
Cela permettra d'assurer la gestion ont été toutes les migrations pré-requis nécessaires avant le vôtre.
Un ajout au tissu réponse ci-dessus, ajoutez à votre fabfile.py:
from myproj.settings import INSTALLED_APPS
def initmigration():
for app in INSTALLED_APPS:
if 0 == app.find('myproj.'):
_app = app.split('myproj.')[1]
local('python manage.py convert_to_south %s' % _app)
Maintenant, exécutez fabric initmigration
. Peut faire la même chose pour la fonction migration
ci-dessus.
- 1. Problèmes avec South/Django: ne pas reconnaître l'application Django
- 2. Création de plusieurs sites avec django
- 3. Configurer plusieurs applications Django sur un serveur
- 4. Syncdb/migrate de South crée des pages de sortie?
- 5. les importations relatives de __init__ dans plusieurs fichiers applications Django
- 6. Comment migrer un modèle contenant un ImageField à partir de django-imagekit en utilisant django-south?
- 7. Wix pour installer plusieurs applications
- 8. Création de plusieurs classes de profil dans django
- 9. Plusieurs applications Django frappant la même sauvegarde - Problèmes?
- 10. Dois-je diviser un grand projet Django en plusieurs applications?
- 11. Quelle est la bonne façon d'utiliser la nouvelle option "--freeze" dans startmigration pour django-south?
- 12. la création d'installation avec plusieurs applications avec le projet vb
- 13. java Semaphore north south que
- 14. django + south + python: comportement étrange lors de l'utilisation d'une chaîne de caractères reçue en paramètre dans une fonction
- 15. Django applications urls.py accès
- 16. Sous-applications et structure de module Django
- 17. Extension de l'introspection Sud à Django
- 18. Un conteneur DI pour plusieurs applications ASP.Net
- 19. Création de xaml 'template' pour plusieurs pages
- 20. Surveiller plusieurs applications de rails
- 21. Création de plusieurs référentiels
- 22. utiliser qt et django pour créer des applications de bureau
- 23. Django makemessages pour les applications dans les packages de site
- 24. Django ManyToManyField Création Problèmes
- 25. Projets Django comme applications de bureau: comment?
- 26. plusieurs utilisateurs, plusieurs applications, un serveur
- 27. Jquery dans Django: Quelles applications django dois-je examiner?
- 28. Django problème plusieurs-à-plusieurs dans l'administration
- 29. Existe-t-il une convention de dénomination pour les applications Django?
- 30. Problème lors de la création de plusieurs applications Rails à l'aide de MongoDB
Oui bonne idée. déjà en utilisant le tissu, l'utilisera aussi pour cela! Mes problèmes dérivent davantage du fait que j'avais besoin d'ajouter quelques fonctionnalités aux modèles de base django et de réutiliser cette fonctionnalité dans quelques applications; donc c'est la seule possibilité de le faire je suppose! –
La première ligne et demi de cette réponse a eu mon upvote – lajarre