asvae / laravel-fixtures
0.1.2
2017-01-25 16:47 UTC
Requires
- php: >=5.4.0
- laravel/framework: 5.*
This package is not auto-updated.
Last update: 2024-09-15 01:30:19 UTC
README
在处理数据库时,有时我们需要修改模式,有时需要修改数据。在Laravel迁移中同时进行这两项操作是痛苦的。这个包提供了简单的方法来分别维护这两者。
安装
通过Composer安装
composer require asvae/laravel-fixtures
将命令添加到您的App\Console\Kernel
protected $commands = [ // ... \Asvae\LaravelFixtures\Commands\FixtureRun::class, ];
用法
确保您的数据集扩展了\Asvae\LaravelFixtures\AbstractFixture
类,或者至少实现了Asvae\LaravelFixtures\FixtureContract
接口。抽象类提供了一些实用方法来帮助您。
$this->runFixture($className); // Runs another fixture.
$this->runArray($className); // Run [nested] array of fixtures
要运行数据集,请执行php artisan fixture:run "\App\Fixtures\YourFixture"
。这基本上会在给定的类中运行run
方法,同时在构造函数中定义了任何依赖项的情况下解决这些依赖项。
配置
由于库非常小,未提供配置文件。不过,您可以在.env
文件中定义默认命名空间。这将在您传递不带命名空间的类名时使用。
FIXTURES_NAMESPACE=App\MyFixtures
示例
请查看几个示例。对于所描述的情况,在生产环境中,要完全迁移数据,您将运行
php artisan fixture:run "\Asvae\LaravelFixtures\Examples\FixtureSet"
在开发环境中,要刷新单个表,您可以单独运行数据集,因为这些数据集要快得多。
提示
- 您可以通过将光标放在类名上并按
Ctrl (⌘) + Shift + Alt + C
在PHPStorm中复制带命名空间的类名。 - 如果您想添加一些功能,只需将包复制到您的项目中即可。几个类不会对您造成伤害。
- 如果您觉得我的工作对您有帮助,请分享或留下星标。