valerialevenets/doctrine-data-fixture-module

Laminas Module that provides Doctrine Data-Fixture functionality

1.1 2021-09-15 11:09 UTC

This package is auto-updated.

Last update: 2024-10-15 17:54:55 UTC


README

Introduction

This is fork from Dkorsak/DoctrineDataFixtureModule.

The DoctrineDataFixtureModule module intends to integrate Doctrine4 ORM Data Fixtures with Laminas.

Installation

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

$ php composer.phar require valerialevenets/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 array(
    'doctrine' => array(
        'fixture' => array(
            'ModuleName' => __DIR__ . '/../src/ModuleName/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 Application\DataFixtures;

use Doctrine\Common\DataFixtures\FixtureInterface;
use Doctrine\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');        
    }
}