È possibile chiamare un file .sql in una classe di migrazione?È possibile chiamare un file .sql in una migrazione di doctrine?
Non ho trovato nulla sull'argomento.
È possibile chiamare un file .sql in una classe di migrazione?È possibile chiamare un file .sql in una migrazione di doctrine?
Non ho trovato nulla sull'argomento.
Sì, basta mettere il file .sql e rimandarlo dalla classe di migrazione.
$this->addSql(file_get_contents(__DIR__ . '/sql-dump.sql'));
Fa riferimento a Doctrine 1.2.? Non riesco a trovare questa opzione:/ –
Cosa succede se SQL contiene più query divise per punto e virgola? –
^Funziona con più query separate da punti e virgola nel file SQL incluso (almeno in Symfony 3.x, molto probabilmente funziona anche in Symfony 2.8+ ... basta provarlo). – Sawant
so che è una vecchia questione, ma è ancora l'unico vero successo quando ho cercato su google per esso. La risposta sopra può essere leggermente migliorata. È una cosa semplice, ma potresti non pensarci. Se si dispone di un file sql che contiene più query divise per punto e virgola, è possibile esplodere il contenuto in punto e virgola.
<?php
foreach (explode(';', file_get_contents(__DIR__ . '/sql-dump.sql')) as $sql) {
$this->addSql($sql);
}
Cosa succede se ci sarà ';' all'interno della query sql? Potrebbe non essere sicuro. Potrebbe essere "; \ n" dovrebbe essere migliore. – luchaninov
Non c'è bisogno di questo, in quanto questo ('$ this-> addSql (file_get_contents (__ DIR__. '/sql-dump.sql'));') funziona in caso di più query separate da punti e virgola. – Sawant
Non credo che sia possibile. Dovresti avviarlo dopo la tua migrazione. Cosa contiene questo file sql? – j0k
crea stored procedure e viste e viene creato dinamicamente – Hyperkubus