Laravel 5.2数据库种子包?

时间:2016-03-25 12:42:47

标签: php laravel laravel-5.2 laravel-seeding

我正在创建一个包,并希望在其中包含db种子。所有这些种子都会将一些新行添加到已存在的表中。我也喜欢" unseed"卸载程序包时删除这些行的选项。

我不确定该如何解决这个问题?什么是最佳做法?

由于

1 个答案:

答案 0 :(得分:8)

最简单的选择是像往常一样创建种子类,并指示用户使用db:seed选项运行--class[=CLASS]命令。

例如,您的包可以包含种子类MyPackage\Seeds\Install以添加行,MyPackage\Seeds\Remove可以删除它们。您的软件包的用户可以使用以下命令运行这些种子:

php artisan db:seed --class="MyPackage\Seeds\Install" 
php artisan db:seed --class="MyPackage\Seeds\Remove"