inlm/schema-generator
最新稳定版本:v1.2.0
Composer 安装命令:
composer require inlm/schema-generator
包简介
Schema generator for PHP apps.
README 文档
README
Installation
Download a latest package or use Composer:
composer require inlm/schema-generator
Schema Generator requires PHP 8.0 or later.
Usage
$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 Inlm\SchemaGenerator\Loggers\MemoryLogger; $generator = new Inlm\SchemaGenerator\SchemaGenerator($extractor, $adapter, $dumper, $logger, Inlm\SchemaGenerator\Database::MYSQL); // $generator->setTestMode(); $generator->generate(); // or $generator->generate('changes description');
Documentation
Supported databases:
- MySQL
How it works?
- adapter loads old schema if exists. Schema can be stored in file, memory,...
- extractor extracts new schema from entities, file, database,...
- generator generates diff between old and new schema
- dumper dumps differences to SQL file, database,...
- adapter saves new schema (only if is test mode disabled)
Extractors
Extracts new database schema from given source - entities, database or file.
- LeanMapperExtractor (package
inlm/schema-generator-leanmapper) - DibiExtractor (package
inlm/schema-generator-dibi) - NeonExtractor
Adapters
Persists database schema in file, memory,...
- NeonAdapter
- MemoryAdapter
- DibiAdapter (package
inlm/schema-generator-dibi)
Dumpers
Dumps changes of database schema into migration file, database,...
- SqlDumper
- SqlMemoryDumper
- DibiDumper (package
inlm/schema-generator-dibi) - NullDumper
Loggers
You can use loggers from czproject/logger.
CzProject\Logger\CliLoggerCzProject\Logger\MemoryLoggerCzProject\Logger\OutputLogger- or any else
More
Tip
If you need generate ... AFTER column in ALTER TABLE statements, call:
$schemaGenerator->enablePositionChanges();
License: New BSD License
Author: Jan Pecha, https://www.janpecha.cz/
统计信息
- 总下载量: 1.54k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 8
- 点击次数: 1
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: BSD-3-Clause
- 更新时间: 2017-06-29