Skip to content

Latest commit

 

History

History
50 lines (34 loc) · 1.94 KB

examples.md

File metadata and controls

50 lines (34 loc) · 1.94 KB

Examples

How generate migration file from Lean Mapper entities

It requires package inlm/schema-generator-leanmmaper.

$extractor = new Inlm\SchemaGenerator\LeanMapperBridge\LeanMapperExtractor(__DIR__ . '/model/Entities/', new LeanMapper\DefaultMapper);
$adapter = new Inlm\SchemaGenerator\Adapters\NeonAdapter(__DIR__ . '/.schema.neon');
$dumper = new Inlm\SchemaGenerator\Dumpers\SqlDumper(__DIR__ . '/migrations/structures/');
$logger = new CzProject\Logger\MemoryLogger;

$generator = new Inlm\SchemaGenerator\SchemaGenerator($extractor, $adapter, $dumper, $logger, Inlm\SchemaGenerator\Database::MYSQL);
$generator->generate();

How initialize schema from existing database

$connection = new Dibi\Connection(...);
$ignoredTables = array('migrations');
$extractor = new Inlm\SchemaGenerator\DibiBridge\DibiExtractor($connection, $ignoredTables);
$adapter = new Inlm\SchemaGenerator\Adapters\NeonAdapter(__DIR__ . '/.schema.neon');
$dumper = new Inlm\SchemaGenerator\Dumpers\NullDumper;
$logger = new CzProject\Logger\MemoryLogger;

$generator = new Inlm\SchemaGenerator\SchemaGenerator($extractor, $adapter, $dumper, $logger);
$generator->generate();

How update database from Lean Mapper entities during development

It requires package inlm/schema-generator-leanmmaper.

$connection = new Dibi\Connection(...);
$ignoredTables = array('migrations');
$extractor = new Inlm\SchemaGenerator\LeanMapperBridge\LeanMapperExtractor(__DIR__ . '/model/Entities/', new LeanMapper\DefaultMapper);
$adapter = new Inlm\SchemaGenerator\DibiBridge\DibiAdapter($connection, $ignoredTables);
$dumper = new Inlm\SchemaGenerator\DibiBridge\DibiDumper($connection);
$logger = new CzProject\Logger\MemoryLogger;

$generator = new Inlm\SchemaGenerator\SchemaGenerator($extractor, $adapter, $dumper, $logger);
$generator->generate();