3
私はパッケージを作成しており、そこにdbシードを持っています。これらのシードは、すでに存在するテーブルに新しい行を追加するだけです。私はまた、パッケージがアンインストールされたときにそれらの行を削除するための "未分類"オプションが好きです。Laravel 5.2のデータベースシードはパッケージ化されていますか?
私はこれについてどうすればよいかわかりません。ベストプラクティスとは何ですか?
おかげ
私はパッケージを作成しており、そこにdbシードを持っています。これらのシードは、すでに存在するテーブルに新しい行を追加するだけです。私はまた、パッケージがアンインストールされたときにそれらの行を削除するための "未分類"オプションが好きです。Laravel 5.2のデータベースシードはパッケージ化されていますか?
私はこれについてどうすればよいかわかりません。ベストプラクティスとは何ですか?
おかげ
最も簡単なオプションは、いつものように、シードクラスを作成し、その--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"
私は*として(*〔教義の移行](http://www.doctrine-project.org/projects/migrations.html)はこの種の機能を提供していますだと思います他のものと同じように)。また、Doctrine ORMから分離する必要があるため、EloquentのLaravelで使用することは問題ではありません。 (私が間違っていると誰かが私を修正します。) –