J'ai recherché un moyen d'obtenir les instructions SQL générées par un fichier de migration généré. Cela étend Doctrine_Migration_Base. Essentiellement, je voudrais enregistrer le SQL en tant que scripts de changement. Le chemin d'exécution m'amène à Doctrine_Export qui a des méthodes qui construisent l'instruction SQL et les exécutent. Je n'ai trouvé aucun moyen de les demander seulement. Les méthodes d'exportation trouvées dans Doctrine_Export fonctionnent uniquement sur les modèles Doctrine_Record et non sur les scripts de migration.Obtention du code SQL à partir d'une migration Doctrine
Depuis la ligne de commande './doctrine migrer la version #' le chemin va:
- Doctrine_Cli :: run (cmd)
- Doctrine_Task_Migrate :: setArguments (args)
- Doctrine_Task_Migrate :: execute()
- Doctrine_Migration :: émigrent (à)
- Doctrine_Migration_Process :: Doctrine_Export :: divers créer, supprimer, modifier les méthodes avec sql equi valents.
Quelqu'un at-il abordé cela avant? Je ne voudrais vraiment pas changer les fichiers de base de Doctrine. Toute aide est grandement appréciée.
Intéressant. Je vais examiner cela et revenir à vous. Je pense que je pourrais devoir modifier les fichiers Doctrine de base de toute façon car leur implémentation CLI fait défaut. Il existe une option dryRun que Doctrine_Task_Migrate ne vérifie même pas. Fondamentalement les 2 options que je vais pour sont: Ajoutez l'option dryRun, exécutez une migration avec dryRun et SQL Trace pour capturer les déclarations. Ou Avec l'option dryRun, ajoutez une autre option pour afficher simplement les instructions SQL , ce qui nécessiterait un fichier Doctrine_Migration_Process modifié, peut-être que je l'appellerai Doctrine_Migration_GetSQL. –
Sons valables. SQL Trace est certainement un bon moyen d'obtenir les commandes. –