dev-master
9999999-dev http://github.com/peec/minibase-plugin-doctrineDoctrine plugin for minibase. Integrates doctrine with Minibase.
MIT
The Requires
Wallogit.com
2017 © Pedro Peláez
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