Symfony bundle to allow fixtures loading into your Neo4j graph database
Add the bundle as a requirement:
composer require pandawan-technology/neo4j-fixtures-bundle
Enable it in your app/AppKernel.php
file:
<?php
use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = [
// ... my bundles
new PandawanTechnology\Neo4jFixturesBundle\PandawanTechnologyNeo4jFixturesBundle(),
];
return $bundles;
}
}
By default, the bundle will search for the DataFixtures/Neo4j
directories within your registered bundles. These files must implements the PandawanTechnology\Neo4jDataFixtures\Neo4jFixtureInterface
but extending PandawanTechnology\Neo4jDataFixtures\AbstractNeo4jFixture
class is recommended:
<?php
// src/AppBundle/DataFixtures/Neo4j/LoadUserData.php
namespace AppBundle\DataFixtures\Neo4j;
use GraphAware\Common\Connection\ConnectionInterface;
use PandawanTechnology\Neo4jDataFixtures\AbstractNeo4jFixture;
class LoadUserData extends AbstractNeo4jFixture
{
/**
* @inheritDoc
*/
public function load(ConnectionInterface $connection)
{
// ... statements here
}
}
See Pandawan Technology Neo4j Data Fixtures' library documentation for more informations.
If you need to use third party services from your container, you can implements the ContainerAwareInterface
:
<?php
// src/AppBundle/DataFixtures/Neo4j/LoadUserData.php
namespace AppBundle\DataFixtures\Neo4j;
use GraphAware\Common\Connection\ConnectionInterface;
use PandawanTechnology\Neo4jDataFixtures\AbstractNeo4jFixture;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
class LoadUserData extends AbstractNeo4jFixture implements ContainerAwareInterface
{
private $container;
/**
* @inheritDoc
*/
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
/**
* @inheritDoc
*/
public function load(ConnectionInterface $connection)
{
// ... statements here
}
}
For more informations, you can have a look into the Pandawan Technology Neo4j DataFixtures library README file.