私はLaravel 5.3 RESTful APIプロジェクトを継承していますが、それでも私の頭を抱いています。 users
テーブルでは、name
カラムを削除し、first_name
とlast_name
に置き換えました。しかし、これは既存のテストを壊してしまった。(FOUND)テスト時の工場出荷時のデフォルト値
私はphpunit
を実行すると、私は次のエラーを参照してください。
Illuminate\Database\QueryException: SQLSTATE[HY000]: General error: 1364 Field 'first_name' doesn't have a default value (SQL: insert into `users` (`name`, `email`, `password` ...
を私はシーダー、工場出荷時のファイルとGoogleで検索しましたし、私はこれらの変更を反映するためのテストを更新する方法を見つけることができません。私が見ることができる唯一のヒントは、エラーがテストでこの行によって作成されていることです$user = factory(\App\Models\User::class)->create();
。しかし、私はフィールドがテストのために設定されているのを見ることができません。
config/database.phpの編集とstrict=false
の設定をお勧めします。しかし、これはハックのように聞こえて、問題を解決していないようです。
いずれの方向も高く評価されます。
EDIT:Nevermind。私はファイルをかなり明白な場所に見つけました。 Database/factories/
。
: 次の2つの移行を作成する必要があります。私は1つのマイグレーションファイルを使用していましたが、2つではありませんが、違いはありません。 – Dubby