2012-11-23 100 views

回答

11

是的,只需放入.sql文件並從您的遷移類中引用它即可。

$this->addSql(file_get_contents(__DIR__ . '/sql-dump.sql')); 
+1

這是否涉及Doctrine 1.2。我找不到這個選項:/ –

+1

如果SQL包含幾個查詢除以分號怎麼辦? –

+0

^它適用於在包含的SQL文件中用分號分隔的多個查詢(至少在Symfony 3.x中;最有可能在Symfony 2.8+中工作以及...只是測試它)。 – Sawant

0

我知道這是一個古老的問題,但它仍然是我搜索它的唯一真正的打擊。上述答案可以稍微改善。這是一件簡單的事情,但你可能不會想到它。如果你有一個包含多個查詢分號的sql文件,你可以用分號分解內容。

<?php 

foreach (explode(';', file_get_contents(__DIR__ . '/sql-dump.sql')) as $sql) { 
    $this->addSql($sql); 
} 
+1

如果在sql查詢中會出現'''會怎麼樣?這可能不安全。可能是「; \ n」應該會更好。 – luchaninov

+0

不需要這個,因爲這個('$ this-> addSql(file_get_contents(__ DIR__。'/sql-dump.sql'));')適用於以分號分隔的多個查詢。 – Sawant

相關問題