Ho cercato un modo per ottenere le istruzioni SQL create da un file di migrazione generato. Questi estendono Doctrine_Migration_Base. In sostanza vorrei salvare l'SQL come script di modifica.Ottenere l'SQL da una migrazione di Doctrine
Il percorso di esecuzione mi porta a Doctrine_Export che ha metodi che costruiscono l'istruzione SQL e li esegue. Non ho trovato modo di chiedere solo loro. I metodi di esportazione trovati in Doctrine_Export funzionano solo sui modelli Doctrine_Record e non sugli script di Migrazione.
Dalla riga di comando './doctrine migrare versione #' il percorso va:
- Doctrine_Cli :: run (cmd)
- Doctrine_Task_Migrate :: setArguments (args)
- Doctrine_Task_Migrate :: eseguire()
- Doctrine_Migration :: migrare (a)
- Doctrine_Migration_Process :: Doctrine_Export :: vari creare, goccia, alterare metodi con SQL equi quivalenti.
Qualcuno ha affrontato questo prima? Non vorrei davvero cambiare i file base di Doctrine. Qualsiasi aiuto è molto apprezzato.
Interessante. Lo esaminerò e tornerò da te. Sento che potrei dover modificare i file di base di Doctrine comunque manchino le loro implementazioni CLI. C'è un'opzione dryRun disponibile che Doctrine_Task_Migrate non si preoccupa nemmeno di controllare. Fondamentalmente le 2 opzioni che sto cercando sono: Aggiungere l'opzione dryRun, eseguire una migrazione con dryRun e SQL Trace per acquisire le istruzioni. Oppure Insieme all'opzione dryRun, aggiungi un'altra opzione per emettere semplicemente le istruzioni SQL , questo richiederebbe un file Doctrine_Migration_Process modificato, forse lo chiamerò Doctrine_Migration_GetSQL. –
Suoni validi. Certamente SQL Trace è un buon modo per ottenere i comandi. –