2017-01-20 4 views
0

開発中、テスト目的のために、モデルの1つに関連するテーブルが必要な場合があります。たとえば、私はteamモデルでtesterscodersmanagersprojectsおよびofficesモデルを外部キーとリンクしているとします。チーム作成機能をテストするために、これらのテーブルをすべてクリアしたいと思います。Laravel artisanを使用してモデルテーブルをクリアする方法はありますか?

現在、私はそれが動作することにより、

php artisan migrate:refresh --seed 

こと、シーダは、私はテスト環境のために必要なデータをバック追加されますが、それはまた、すべての他の無関係のテーブルをクリアします。また、テーブルを削除して再作成するため、処理が遅くなります。

私はそのための関数を書くことができます知っているが、それは少し過度のようです。私がこの行動をとるための他の職人の命令はありますか?

+0

テストの場合は、 'setUp'メソッドと' tearDown'メソッドを使用する必要があります。常にあなたが望むことをする職人のコマンドを書くことができます。 –

答えて

1

必要なのは、この職人コマンドです:

TeamSeederを使用すると、特定のテーブルをシードするために作成したシーダクラスの名前です
php artisan db:seed --class=TeamSeeder 

シードする前に、そのシードクラスのテーブルを切り捨ててください。

このコマンドはテーブルを再作成しませんが、あなたの場合でも必要はありません。

希望すると、これが役立ちます。

関連する問題