amstaffix / alice-fixtures-smart-loader
Библиотека для загрузки фикстур Alice в БД
Requires
- php: ~5.4
- doctrine/common: ~2.2
- nelmio/alice: ~1.0
- symfony/finder: ~2.0
Requires (Dev)
- amstaffix/common-doctrine-orm: 0.1.*
- athletic/athletic: ~0.1
- doctrine/orm: ~2.2
- phpunit/phpunit: ~3.7|~4.0
This package is not auto-updated.
Last update: 2017-08-02 14:30:05 UTC
README
Данная библиотека позволяет загружать подготовленные фикстуры от nelmio/alice (https://github.com/nelmio/alice).
Данная библиотека находится в разработке и может быть изменена в любой момент без сохранения обратной совместимости
ВАЖНО
Изначально библиотека создавалась для работы со сгенерированными фикстурами из рабочей базы данных, из-за чего связи между сущностями не сохранялись.
В связи с этим:
- библиотека сама проходится по всем ассоциациям и добавляет необходимые связи. (На данный момент работает только многие-к-одному)
- если связь уже установлена в самом файле-с-фикстурами, то библиотека её не заменяет
- могут иметься и другие непредвиденные проблемы
Установка
Используя Composer
$ composer require amstaffix/alice-fixtures-smart-loader:0.1.*
Примеры
<?php use Amstaffix\AliceFixturesSmartLoader\FixturesLoader; // ... function(ObjectManager $om, $dir) { (new FixturesLoader()) ->withManager($om) ->fromDir($dir) ->load(); } // ...
Будут загружены все сущности из директории, и для каждой из них будут проставлены связи между друг другом
<?php use Amstaffix\AliceFixturesSmartLoader\FixturesLoader; // ... function(ObjectManager $om, $dir) { (new FixturesLoader()) ->withManager($om) ->oneClass("Amstaffix\AliceFixturesSmartLoader\Tests\Entity\Author") ->fromDir($dir) ->load(); } // ...
В данном случае будут загружены фикстуры только для класса Author
<?php use Amstaffix\AliceFixturesSmartLoader\FixturesLoader; // ... function(ObjectManager $om, $dir) { (new FixturesLoader()) ->withManager($om) ->oneClass("Amstaffix\AliceFixturesSmartLoader\Tests\Entity\Book") ->fromDir($dir) ->load(); } // ...
А в данном случае будут загружены сущности для Book и Author, а так же будут проставлены рандомно связи между ними.