我正在構建一個需要創建新數據庫,通過網頁執行遷移和種子數據庫數據的應用程序。Laravel 4.2,Artisan :: call()忽略--env選項
我試圖用Laravel 4.2中的以下代碼實現此目的。請注意,這是在我設置的控制器內。
Artisan::call("migrate", array(
"--env" => "production"
));
無論我通過什麼樣的環境與「--env」選項,遷移已運行環境是當前環境下,該網站當前正在運行。 IE瀏覽器。如果我在本地環境中運行,並且運行上述操作,它將在本地環境中執行遷移,這不是我期望的遷移。
如果我從命令行運行等效命令php artisan --env=production migrate
,我得到了我期望實現的結果。目前,我通過passthru()
過去了,但如果可以的話,我想利用這個工匠的外觀。
有誰知道這是怎麼回事?
作爲對此的注意事項,您必須將base_url添加到上下文參數,它不會從您的擴展參數複製。 – DanielM