2017-08-29 38 views
1

我知道,這似乎是一個奇怪的行爲,避免教條異常,但我必須這樣做,因爲我在一箇舊的項目工作,有人在過去執行的一些遷移,然後他決定所以現在將其刪除在當地沒有崩潰的情況下複製生產環境是很複雜的,這就是爲什麼我需要執行一些查詢的原因(刪除外鍵並添加againg以確保我在本地和生產環境中具有相同的環境跳過例外主義遷移

它可以這樣做嗎?當然,我試着用try/catch語句,但沒有工作,我讀教義文檔,但沒有相關信息,所以它似乎是不可能的,但也許也有辦法做到這一點

回答

1

我沒能趕上例外,所以要解決,我決定創建兩個型動物遷移文件,第一個用於開發和第二個生產。要僅在正確的環境中執行,我調用skipIf,如果我不在生產環境中,則只執行此查詢。

$this->skipIf('prod' === getenv('SYMFONY_ENV'), "This migrations is only executed in develop and test enviroments"); 

我知道這是不是最好的方法,但一個是正確的,爲了解決這個問題。