Simple Laminas/Mezzio Doctrine ORM integration.
Please feel free to report bugs and missing features.
Create config file config/autoload/doctrine.global.php
with minimal config:
doctrine
- Key for doctrine configconnection
orm_default
driver_class
- The full name of\Doctrine\DBAL\Driver
implementationparams
- The connection driver parameters
driver
- Mapping driver configurationorm_default
drivers
- Key must be a namespace for entities (e.g.
App\Entity
)class
- The full name of the metadata driverpaths
- An array of directories containing your entities
- Key must be a namespace for entities (e.g.
See the Doctrine documentation for more possible configurations.
<?php
declare(strict_types=1);
use Doctrine\DBAL\Driver\PDO\MySQL\Driver;
use Doctrine\ORM\Mapping\Driver\AnnotationDriver;
return [
'doctrine' => [
'connection' => [
'orm_default' => [
'driver_class' => Driver::class,
'params' => [
'host' => 'localhost',
'port' => '3306',
'user' => 'root',
'password' => 'root',
'dbname' => 'database',
],
],
],
'driver' => [
'orm_default' => [
'drivers' => [
'App\Entity' => [
'class' => AnnotationDriver::class,
'paths' => [
'src/Entity',
],
],
],
],
],
],
];
Commands uses Laminas CLI and vendor/bin/laminas
entry point for it
doctrine:migrations:diff [diff] Generate a migration by comparing your current database to your mapping information.
doctrine:migrations:dump-schema [dump-schema] Dump the schema for your database to a migration.
doctrine:migrations:execute [execute] Execute a single migration version up or down manually.
doctrine:migrations:generate [generate] Generate a blank migration class.
doctrine:migrations:latest [latest] Outputs the latest version number
doctrine:migrations:migrate [migrate] Execute a migration to a specified version or the latest available version.
doctrine:migrations:rollup [rollup] Rollup migrations by deleting all tracked versions and insert the one version that exists.
doctrine:migrations:status [status] View the status of a set of migrations.
doctrine:migrations:up-to-date [up-to-date] Tells you if your schema is up-to-date.
doctrine:migrations:version [version] Manually add and delete migration versions from the version table.
$ vendor/bin/laminas doctrine:migrations:diff
$ vendor/bin/laminas doctrine:migrations:migrate
- Tests
- Split this library into separate DBAL, ORM and Migrations libraries
- Add libraries support (auth, pagination etc)
Because DoctrineORMModule is only for Laminas (full MVC) but I need simple integration for Mezzio.