2017-06-17 193 views
1

我最近爲共享主機託管了一個laravel項目(針對客戶),嘗試通過ssh訪問服務器失敗後,我聯繫了通知我ssh服務的主機不適用於我的客戶託管計劃,這意味着我無法使用終端,也無法使用工匠。我知道如何編寫一個php腳本來創建sql表格,但在此之前,我想知道是否已經定義了遷移(表格)之後的laravel的快捷方式。我想要的就是創建一條路線project.com/run_migrations來完成這項工作!在此先感謝如何在沒有工匠的情況下運行laravel遷移(使用代碼)

回答

5

您可以輕鬆創建在PHP中一個小工匠這樣的腳本:

Artisan::call('migrate'); 

這等於php artisan migrate。在任何想要運行遷移的地方使用它。

如果您處於生產模式(如果您的.env文件中有APP_ENV=production),那麼如果您希望允許進行更改,則必須強制遷移。可以按如下方式做到這一點:

Artisan::call('migrate', ["--force"=> true ]); 

這等於增加了--force標誌一拉php artisan migrate --force的。

雖則回答您的具體問題,創建這樣的路線:

Route::get('/run-migrations', function() { 
    return Artisan::call('migrate', ["--force"=> true ]); 
}); 

如果您有興趣創建一個Web安裝程序,你可能有興趣在這個包:

https://github.com/Froiden/laravel-installer

查看代碼,瞭解他如何處理遷移和種子等。

相關問題