Django migrer --faux et --faux-initiale expliqué

J'ai été un utilisateur de Django pour environ 2 ans maintenant et il y a une fonctionnalité que j'ai toujours eu peur de l'utilisation : de truquer les migrations.

J'ai regardé un peu partout, et la plupart des informations que je peux obtenir de l'est de la la documentation, où il est dit que:

--faux

Indique à Django pour marquer les migrations comme ayant été appliquée ou
non, mais sans exécuter le SQL pour modifier votre
schéma de base de données.

C'est destiné aux utilisateurs avancés de manipuler l'actuel
la migration de l'état directement si elles sont appliquant manuellement les modifications;
averti que l'utilisation de --faux court le risque de mettre de la migration de l'état
tableau dans un état où la récupération manuelle sera nécessaire pour faire
les migrations s'exécuter correctement.

--faux-initiale

Permet de Django pour sauter d'une application initiale de la migration si la base de données
les tables avec les noms de tous les modèles créés par toutes les CreateModel
les opérations de migration existent déjà. Cette option est destinée
pour une utilisation lors de la première exécution de migrations à l'encontre d'une base de données qui
préexisté à l'utilisation des migrations. Cette option n'est pas, cependant, de vérifier
pour la mise en correspondance schéma de base de données au-delà de correspondance des noms de table et est donc
seulement sûr à utiliser si vous êtes certain que votre schéma existant
correspond à ce qui est enregistré dans votre migration initiale.

J'ai l'idée générale et pourquoi vouloir utiliser cette fonctionnalité. Mais, je ne comprends pas la partie où il dit que c'est destiné aux utilisateurs avancés seulement.

Quelqu'un peut m'expliquer ce qui se passe derrière la scène et pourquoi récupération manuelle serait nécessaire.

NOTE

Je ne suis pas à la recherche de l'exactitude des premières requêtes SQL qui fonctionne quand truqué une migration. Je suis seulement à la recherche d'une idée générale de ce qui se passe derrière la scène et peut-être un exemple de pourquoi truquer une migration
le résultat serait dans un état où makemigrations ne pas fonctionner correctement.

OriginalL'auteur scharette | 2017-10-16