2017-08-22 103 views
1

我的遷移邏輯包含非常複雜的操作,例如將數據插入到剛創建的表和存儲過程創建中。如果有什麼方法可以使用Doctrine 1創建/生成Symfony 1上的適當遷移? 我認爲最快的方法是使用我需要的RAW SQL命令創建遷移。Doctrine 1遷移,如何執行原始SQL

回答

1

我在這些情況下,做的是使用symfony doctrine:generate-migration命令創建一個空的移民類,然後在與此類似兩者up()down()方法填寫:

public function up() 
{ 
    $dbh = Doctrine_Manager::connection()->getDbh(); 
    $query = "INSERT INTO `some_table` (`id`, `created_at`, `updated_at`) 
       VALUES 
       ('1', NOW(), NOW()), 
       ('2', NOW(), NOW()), 
       ('3', NOW(), NOW()); 
    "; 
    $stmt = $dbh->prepare($query); 
    $stmt->execute(); 
} 
0

你可以試試這個:

$connection = Doctrine_Manager::getInstance()->getCurrentConnection(); 
$results = $connection->execute(" -- YOUR RAW SQL -- ");