2017-06-17 8 views
1

私は最近、ssh経由でサーバにアクセスしようとして失敗した後、共有ホスティングのlaravelプロジェクトを(顧客のために)ホストしました。私の顧客のプランニングのために利用できませんでした。つまり、私は端末にアクセスできず、職人を使うことはできません。私は、SQLテーブルを作成するPHPスクリプトを書く方法を知っていますが、その前に、移行(テーブル)が既に定義されているので、laravelを使ってこのショートカットを作成するのかどうか疑問に思っていました。私がしたいことは、仕事をするためにルートproject.com/run_migrationsを作成するのが好きです!事前(コードを使用して)職人なしでlaravelの移行を実行する方法

答えて

5

のおかげであなたは簡単にこのようにPHPの中の小さな職人のスクリプトを作成することができます

Artisan::call('migrate'); 

これはphp artisan migrateに等しいです。移行を実行したい場所であればどこでも使用できます。

プロダクションモード(ファイルの中にAPP_ENV=productionがある場合)に変更を許可する場合は、強制的にマイグレーションを実行する必要があります。次のようにあなたはそれを行うことができます。

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

これはラphp artisan migrate --force --forceフラグを追加するのと等しいです。

このようなルートを作成し、しかし、あなたの特定の質問に答えるために:

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

を使用すると、Webインストーラを作成するに興味があるなら、あなたはこのパッケージに興味があるかもしれない:

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

コードをチェックして、移行やシードなどの処理方法を確認してください。

関連する問題