私のアプリが動作するためには、テーブル内にある必要があるデータがあります。そうでなければエラーメッセージが表示されます。Laravel 5 - アプリをデプロイした後にテーブルを自動的にシードする方法
たとえば、あなたや他の誰かがgithubから自分のアプリをプルし、php artisan migrateを実行してアプリをテストしようとすると、エラーが発生します。 データが存在しないかそのようなものです。 テーブルにデータがないためです。
だから、理想的なソリューションを実行した後、次のようになります。あなたも取得
php artisan migrate
が、これはそのテーブル内のデータを必要としていました。
これはシーダーと何とかやりますが、どうすればいいのか分かりません。誰でも助けて私に例を挙げることができますか? car_companyテーブルに行くべきこのデータの種にする方法
:
のid car_company
1フォルクスワーゲン
2メルセデス
3アウディ
4ポルシェ
4行があります。 ND私はあなたがデータベースに種を書き込むためにphp artisan db:seed
、 を実行する必要があります実行php artisan migrate
後
php artisan db:seed
Iveはこれとその利点を持つPHPアプリケーションを使用しました。私はこれを自分で行うスクリプトを書くつもりです。私がやる方法は、単にアプリケーションの初期化段階で小切手を追加することです。ソースコードの移行数を確認して、DB内の移行追跡テーブルを照会することができます.DBがコードベースの背後にある場合は、アプリケーションの実行を停止してメッセージを出力することができます。移行を実行する必要があります* –
ええ、私はちょうど最初に移行を実行した後にこの種子を作りたいので、テーブルにこのデータがあり、完全に機能するようになっています! – lewis4u
よく私は問題がより多くの検出とメッセージの表示だと思う。シンプルなシェルエイリアスや単純に両方のコマンドを実行するものを作成するのが簡単ですが、次に、新しいスクリプト/コマンドを学び、見つけて使用する必要があることを人々に教える必要があります。しかし、人々はすでに、種まきをしなければDBを使うことができないことを知っています。種子への職人の命令はすでに一般的な知識である。もう1つの問題は、シードのようなものを自動化するときに、シードが発生したときのコントロールが失われるため、DBが必要なときにシードされる可能性があります。 –