dev-master
9999999-dev http://github.com/peec/minibase-plugin-doctrineDoctrine plugin for minibase. Integrates doctrine with Minibase.
MIT
The Requires
Doctrine plugin for minibase. Integrates doctrine with Minibase.
Enables you to integrate Doctrine to Minibase., (*1)
{ "require":{ "pkj/minibase-plugin-doctrine": "dev-master" } }
Init the plugin, (*2)
$mb->initPlugins(array( 'Pkj\Minibase\Plugin\DoctrinePlugin\DoctrinePlugin' => array( 'metadata' => 'annotation', // yaml,xml or annotation. 'entityDirs' => [__DIR__ . '/Models'], // Entity dirs. 'proxyDir' => __DIR__ . '/cache/proxies', // Cached proxies 'connection' => array( 'driver' => 'pdo_sqlite', 'path' => __DIR__ . '/db.sqlite', ), // Optional callback to configure the Configuration object. setupCallback: function () { // $this = Doctrine Configuration object instance. } ) ));
The plugin makes "em" available as a plugin in your MB app., (*3)
From any controller:, (*4)
See the Minibase CLI documentation on how you generate a php file that can run commands., (*5)
This plugin injects All Doctrine Cli commands to the default minibase commands., (*6)
$this->mb->em->persist(new SomeModel());
Listen to this event to add more entity dirs. Useful for other plugins that requires this plugin. Note that $entityDirs
is a reference., (*7)
Listen to this event to configure the configuration for doctrine before entity manager is created., (*8)
The best way to keep in track with production database is migrations., (*9)
Create migrations.xml
where your cli.php
binary is., (*10)
Add this (configure it yourself):, (*11)
<doctrine-migrations xmlns="http://doctrine-project.org/schemas/migrations/configuration" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://doctrine-project.org/schemas/migrations/configuration http://doctrine-project.org/schemas/migrations/configuration.xsd"> <name>App migrations</name> <migrations-namespace>app\migrations</migrations-namespace> <table name="doctrine_migration_versions" /> <migrations-directory>app/migrations</migrations-directory> </doctrine-migrations>
Create your first diff:, (*12)
php cli.php migration:diff
Excecute migrations:, (*13)
php cli.php migrations:migrate
Doctrine plugin for minibase. Integrates doctrine with Minibase.
MIT