asvae/laravel-fixtures

0.1.2 2017-01-25 16:47 UTC

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中复制带命名空间的类名。
  • 如果您想添加一些功能,只需将包复制到您的项目中即可。几个类不会对您造成伤害。
  • 如果您觉得我的工作对您有帮助,请分享或留下星标。