Comment puis-je supprimer les différences d'anciennes migrations? Lorsque vous faites merci p> Doctrine: Générez-Migrations-Diff Code> Je n'ai aucun problème, mais lorsque vous faites la doctrine
: migrer code> Je reçois des problèmes. Il semble que la doctrine essaie de migrer de vieilles choses qui ne "comptent" plus ... p>
3 Réponses :
Soit supprimer la classe de migration ou ajouter la table de version de génération (Impossible de vous rappeler le nom exact) et définissez la valeur à la migration que vous souhaitez commencer. P>
Où puis-je trouver cette classe ou cette table?
Une fois que vous avez exécuté une migration, il y aura une nouvelle table dans cette base de données. Je pense que cela a appelé Migration_version. Il devrait avoir une colonne avec une ligne. Si vous modifiez simplement la valeur de la ligne à la migration avant celle que vous souhaitez exécuter.
Lorsque vous générez des migrations de doctrine, il crée des fichiers de classe qui étendent doctrine_migration. Si vous supprimez simplement les migrations que vous ne voulez pas exécuter, vous ne courez pas lorsque vous appelez Doctrine: migrer. Si vous utilisez Symfony, ces cours de migration sont en lib / migration.
Je viens de supprimer tous les fichiers PHP que je pouvais trouver à l'intérieur de la migration / doctrine. Travaillé comme un rêve :)
juste pour compléter la réponse sélectionnée (à partir de la documentation):
Ajout d'une version: P>
./doctrine migrations:version YYYYMMDDHHMMSS --delete
Dans Symfony 5, les migrations se trouvent dans le dossier J'ai trouvé que localement j'avais supprimé la mauvaise migration, mais sur la production des anciens fichiers de migrations où il est toujours là même après un J'ai également effacé la table (ou la migration) dans la base de données dans la table src / migration code>. p>
push git p>. P>.
Migration_version code> p>