Comment procédez-vous pour Django migrations de base de données lors de l'utilisation de Docker-Composer?

J'ai mis en place un Panneau de Django/PostgreSQL app étroitement à la suite de la Django instructions de Démarrage Rapide sur le Panneau site.

La première fois que j'utilise Django manage.py la migration, à l'aide de la commande sudo docker-compose run web python manage.py migrate, il fonctionne comme prévu. La base de données est construite à l'intérieur du Panneau de PostgreSQL récipient bien.

Les modifications apportées à la Django app lui-même, sont également reflétés dans le Panneau de Django conteneur, du moment où je les sauver. C'est génial!

Mais si je puis modifiez un modèle dans Django, et essayez de mettre à jour la base de données Postgres pour correspondre le modèle, aucune modification n'est détectée, donc pas de migration qui se passe, peu importe combien de fois je exécuter makemigrations ou migrate de nouveau.

Fondamentalement, chaque fois que je change le modèle Django, j'ai supprimer les conteneurs Docker (à l'aide de sudo docker-compose rm) et de repartir à zéro avec une nouvelle migration.

Je suis encore à essayer d'obtenir ma tête autour de Docker, et il y a énormément de choses que je ne comprends pas comment il fonctionne, mais c'est me rend fou. Pourquoi ne pas migrer voir mon évolution? Ce que je fais mal?

  • Avez-vous comprendre pourquoi? Je reçois la réponse ci-dessous et ça fonctionne: You just have to log into your running docker container and run your commands. mais quelle est la raison qui fait qu'il se comporte de cette façon? @LouisBarranqueiro
InformationsquelleAutor John | 2015-11-30