Laravel 5.2 包中的数据库种子?
Laravel 5.2 database seeds in packages?
我正在创建一个包并希望在其中包含数据库种子。所有这些种子所做的就是向已经存在的 table 添加一些新行。我还想要一个 "unseed" 选项来在卸载包时删除这些行。
我不确定该怎么做?最佳做法是什么?
谢谢
最简单的选择是像往常一样创建种子 class 并指导用户 运行 db:seed
命令及其 --class[=CLASS]
选项。
例如,您的包可能包含种子 classes MyPackage\Seeds\Install
以添加行和 MyPackage\Seeds\Remove
以删除它们。您的软件包的用户可以 运行 这些种子:
php artisan db:seed --class="MyPackage\Seeds\Install"
php artisan db:seed --class="MyPackage\Seeds\Remove"
我正在创建一个包并希望在其中包含数据库种子。所有这些种子所做的就是向已经存在的 table 添加一些新行。我还想要一个 "unseed" 选项来在卸载包时删除这些行。
我不确定该怎么做?最佳做法是什么?
谢谢
最简单的选择是像往常一样创建种子 class 并指导用户 运行 db:seed
命令及其 --class[=CLASS]
选项。
例如,您的包可能包含种子 classes MyPackage\Seeds\Install
以添加行和 MyPackage\Seeds\Remove
以删除它们。您的软件包的用户可以 运行 这些种子:
php artisan db:seed --class="MyPackage\Seeds\Install"
php artisan db:seed --class="MyPackage\Seeds\Remove"