Czy można wywołać plik .sql w klasie migracji?Czy można wywołać plik .sql w migracji doktryny?
Nie mogłem znaleźć niczego na ten temat.
Czy można wywołać plik .sql w klasie migracji?Czy można wywołać plik .sql w migracji doktryny?
Nie mogłem znaleźć niczego na ten temat.
Tak, po prostu włóż ten plik .sql i odeślij go od ciebie klasy migracji.
$this->addSql(file_get_contents(__DIR__ . '/sql-dump.sql'));
Czy to odnosi się do Doctrine 1.2.? Nie mogę znaleźć tej opcji:/ –
Co jeśli SQL zawiera kilka zapytań podzielonych przez średniki? –
^Działa z wieloma zapytaniami oddzielonymi średnikami w dołączonym pliku SQL (przynajmniej w Symfony 3.x, najprawdopodobniej działa również w Symfony 2.8+ ... po prostu przetestuj). – Sawant
Wiem, że to stare pytanie, ale wciąż jest jedynym prawdziwym hitem, gdy go szukałem. Powyższą odpowiedź można nieco poprawić. To prosta sprawa, ale możesz nie myśleć o tym. Jeśli masz plik sql zawierający wiele zapytań podzielonych przez średniki, możesz rozbić zawartość średnika.
<?php
foreach (explode(';', file_get_contents(__DIR__ . '/sql-dump.sql')) as $sql) {
$this->addSql($sql);
}
Co będzie, jeśli wystąpi ';' wewnątrz zapytania sql? To może nie być bezpieczne. Może być "; \ n" powinno być lepiej. – luchaninov
Nie ma takiej potrzeby, ponieważ to ('$ this-> addSql (file_get_contents (__ DIR__. '/ /sql-dump.sql'));)) działa w przypadku wielu zapytań oddzielonych średnikami. – Sawant
Nie sądzę, że można. Uruchom go po migracji. Co zawiera ten plik sql? – j0k
tworzy procedury składowane i widoki i jest tworzony dynamicznie – Hyperkubus