2016-03-25 22 views
3

私はパッケージを作成しており、そこにdbシードを持っています。これらのシードは、すでに存在するテーブルに新しい行を追加するだけです。私はまた、パッケージがアンインストールされたときにそれらの行を削除するための "未分類"オプションが好きです。Laravel 5.2のデータベースシードはパッケージ化されていますか?

私はこれについてどうすればよいかわかりません。ベストプラクティスとは何ですか?

おかげ

+0

私は*として(*〔教義の移行](http://www.doctrine-project.org/projects/migrations.html)はこの種の機能を提供していますだと思います他のものと同じように)。また、Doctrine ORMから分離する必要があるため、EloquentのLaravelで使用することは問題ではありません。 (私が間違っていると誰かが私を修正します。) –

答えて

5

最も簡単なオプションは、いつものように、シードクラスを作成し、その--class[=CLASS]オプションを指定してdb:seedコマンドを実行するようにユーザーに指示することです。

たとえば、パッケージには、行を追加するためのシードクラスMyPackage\Seeds\Installとそれらを削除するためのMyPackage\Seeds\Removeが含まれています。あなたのパッケージのユーザーはこれらの種子とを実行することができます。

php artisan db:seed --class="MyPackage\Seeds\Install" 
php artisan db:seed --class="MyPackage\Seeds\Remove" 
関連する問題