drakulitka/doctrine-data-fixture-module

Zend Framework 3 Module that provides Doctrine Data-Fixture functionality

1.0.2 2018-06-27 23:21 UTC

This package is not auto-updated.

Last update: 2024-04-20 00:46:25 UTC


README

Introduction

This is fork from dkorsak/doctrine-data-fixture-module.

The DoctrineDataFixtureModule module intends to integrate Doctrine2 ORM Data Fixtures with Zend Framework 3.

Installation

Installation of this module uses composer. For composer documentation, please refer to getcomposer.org.

$ php composer.phar require drakulitka/doctrine-data-fixture-module

Then open config/application.config.php and add DoctrineModule, DoctrineORMModule and DoctrineDataFixtureModule to your modules

Registering Fixtures

To register fixtures with Doctrine module add the fixtures in your configuration.

<?php
return [
    'doctrine' => [
        'fixture' => [
            'YourModuleName' => __DIR__ . '/../src/Fixture',
        ],
    ],
];

Usage

Default
./vendor/bin/doctrine-module orm:fixtures:load 
Purge with truncate and without confirmation
./vendor/bin/doctrine-module orm:fixtures:load -n --purge-with-truncate 
Append data instead of delete
./vendor/bin/doctrine-module orm:fixtures:load -n --append

How to inject container into fixtures file

<?php

namespace YourModuleName\Fixture;

use Doctrine\Common\DataFixtures\FixtureInterface;
use Doctrine\Common\Persistence\ObjectManager;
use DoctrineDataFixtureModule\ContainerAwareInterface;
use DoctrineDataFixtureModule\ContainerAwareTrait;

class LoadUser implements FixtureInterface, ContainerAwareInterface
{
    use ContainerAwareTrait;

    /**
     * @param ObjectManager $manager
     */
    public function load(ObjectManager $manager)
    {
        $myService = $this->container->get('my_service');        
    }
}