問題タブ [laravel-seeding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Faker for Laravel Seeder
というusers
名前のテーブルと 1 対多の関係にあるテーブルがありますvideos
。データの整合性を失うことなく、2 つのテーブルをシードしたいと考えています。これは私が以下にしたことです:
だから今私がしなければならないのは、VideoTableSeeder
私が望む量を作成して実行することだけです. 自分の扱い方が下手な気がするので、もっといい方法を知りたいです。特に、動画は同じ量ではなくユーザー数を増やしたいと思っています。私が行ったものでは、それらはすべて同じ量になります。
php - Laravel 5 - php artisan db:seed を使用している場合はテーブルをシードしませんが、php artisan db:seed --class を使用している場合は正常に動作します
入力しましphp artisan db:seed
たが、CountriesRetailerSeeder のシードをスキップします。
手動で行うとシードされます。
php artisan db:seed --class=CountriesRetailerSeeder
php artisan db:seed
どうすれば他のシーダーと一緒に実行できますか?
これが私のCountriesRetailerSeederのコードです
これらの 2000 行のデータすべてがcsv ファイルからのものであることに注意してください。
laravel - Laravel Carbon の日付が Seeder で変更されない
Laravel Seeder で、Faker
生成された日付を取り、それを Carbon に変換してから、わずか数時間離れた 2 つの日付を取得して 4 時間のセッションを表そうとしています。例えば、
Start Date: 03/13/2016 12:00PM
End Date: 03/13/2016 5:00PM
以下は私が着陸したものですが、変数$start
と$end
変数は常に同じです。
laravel-5 - laravelモデルファクトリーシードは既存のものから生成します
外部キーを使用してテーブルをシードしようとしていますが、既存のものからランダムに値を取得するようにモデルに指示する方法に行き詰まっています。
モデルファクトリー
種
ベンダーテーブルシーダー
DeviceTableSeeder
データシーダー
Device テーブルの前に Vendor テーブルをシードし、既存のベンダーからランダムなベンダー ID を入力したいと考えています。
しかし、私は得ています
factory::App\Vendor
挿入がベンダー列の文字列として挿入しようとしているようです。既存のベンダーから引き抜く方法を見つけようとしています。
database - laravel の移行とシードを使用してデータベース データの変更を適切に処理する方法
データベースの初期スキーマを作成する移行ファイルと、初期スキーマにランダム データとセット タイプを設定するシード ファイルがあります。
移行とシードについての私の理解では、新しいチームメンバーが参加するたびに、それらを実行するだけで、すべてのデータベースの変更と製品が機能するために必要なデータに追いつくことができます。さらに、stg とシードに変更を適用できます。移行ファイルを実行して prod を実行します。
しかし、私のプロジェクトが進むにつれて、新しいタイプのデータが出現し、それらを適用する唯一の方法は、データベースへの挿入を実行する移行を作成することでした。
私が抱えている問題は、職人が移行とシードを処理する方法は、最初にすべての移行を実行し、次にすべてのシードを実行することであり、移行の順序を指定する方法がないように思われることです。実行する必要があります。したがって、migrate:refresh --seedを実行すると、シードが自身のデータを挿入する前に新しいデータを挿入する最新の移行が適用されるため、エラーが発生します (シードに挿入されたタイプに依存する場合とそうでない場合があります)。 .
私たちが試みた 1 つの解決策は、シードも更新し、データを挿入する移行で変更を適用する前に確認することですが、これは維持するのが非常に面倒になりました。
このシナリオでの移行とシードの予想される用途は何ですか?
更新 より明確にするために: ユーザーを作成するための移行があるとしましょう: ユーザー:{id, name, type} そして、ユーザーを作成するためのシードがあります。
私は両方を実行し、多数のユーザーを含む users テーブルを持っています。
時間が経ち、user_types 用のテーブルが必要であると判断しました。移行が作成され、新しいテーブルが作成され、新しいユーザー タイプのデータが取り込まれ、現在の user.type が user.type_id に一致するように更新されます。
開発者は移行を実行し、データベースをすべて最新の状態にしています。
新しい開発者がチームに加わります。彼は移行を実行します。それから種。壊れます。
ここで、シードを更新して最新のものに一致させると、user_types テーブルの重複データに遭遇します。これを回避するには、データがない場合は実行しないように、移行に何らかの防御コードを用意し、データがある場合は更新する必要があります。
問題は、これが移行を使用する正しい方法ですか? シードを再実行することなく、データの変更をすべての開発者にプッシュするにはどうすればよいでしょうか?
php - パッケージ内のLaravel 5.2データベースシード?
パッケージを作成していて、その中に db シードを入れたいと思っています。これらのシードが行うことは、既存のテーブルにいくつかの新しい行を追加することだけです。パッケージのアンインストール時にこれらの行を削除する「unseed」オプションも必要です。
これについてどうすればよいかわかりませんか?ベストプラクティスとは?
ありがとう
php - Laravel 5.2:名前の工場を見つけることができません[デフォルト]
これを使用するときにデータベースをシードしたい
データベースに3人のユーザーを追加しますが、これを使用すると
エラーを表示
[InvalidArgumentException]
[デフォルト] [app\Comment] という名前のファクトリが見つかりません。