inlm / schema-generator
PHP应用的Schema生成器。
v1.1.0
2024-06-12 08:39 UTC
Requires
- php: >=5.6.0
- czproject/dependency-php: ^2.0
- czproject/logger: ^0.12.0
- czproject/sql-generator: ^2.0
- czproject/sql-schema: ^3.1
- nette/neon: ^2.4 || ^3.0
- nette/utils: ^2.4 || ^3.0 || ^4.0
Requires (Dev)
- inteve/types: ^0.5 || ^1.0 || ^2.0
- nette/tester: ^2.0
- dev-master
- v1.1.0
- v1.0.0
- v0.10.11
- v0.10.10
- v0.10.9
- v0.10.8
- v0.10.7
- v0.10.6
- v0.10.5
- v0.10.4
- v0.10.3
- v0.10.2
- v0.10.1
- v0.10.0
- v0.9.14
- v0.9.13
- v0.9.12
- v0.9.11
- v0.9.10
- v0.9.9
- v0.9.8
- v0.9.7
- v0.9.6
- v0.9.5
- v0.9.4
- v0.9.3
- v0.9.2
- v0.9.1
- v0.9.0
- v0.8.0
- v0.7.3
- v0.7.2
- v0.7.1
- v0.7.0
- v0.6.4
- v0.6.3
- v0.6.2
- v0.6.1
- v0.6.0
- v0.5.2
- v0.5.1
- v0.5.0
- v0.4.0
- v0.3.1
- v0.3.0
- dev-version-0.9
This package is auto-updated.
Last update: 2024-09-14 13:15:26 UTC
README
安装
composer require inlm/schema-generator
Schema Generator需要PHP 5.6.0或更高版本。
用法
$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');
文档
支持的数据库
- MySQL
它如何工作?
- 适配器如果存在则加载旧schema。Schema可以存储在文件、内存、...
- 提取器从实体、文件、数据库等中提取新schema
- 生成器生成旧和新schema之间的差异
- 转储器将差异转储到SQL文件、数据库、...
- 适配器保存新schema(仅当禁用测试模式时)
提取器
从给定的源提取新的数据库schema - 实体、数据库或文件。
- LeanMapperExtractor (包
inlm/schema-generator-leanmapper
) - DibiExtractor (包
inlm/schema-generator-dibi
) - NeonExtractor
适配器
在文件、内存、...中持久化数据库schema
- NeonAdapter
- MemoryAdapter
- DibiAdapter (包
inlm/schema-generator-dibi
)
转储器
将数据库schema的更改转储到迁移文件、数据库、...
- SqlDumper
- SqlMemoryDumper
- DibiDumper (包
inlm/schema-generator-dibi
) - NullDumper
日志记录器
您可以使用来自 czproject/logger
的日志记录器。
CzProject\Logger\CliLogger
CzProject\Logger\MemoryLogger
CzProject\Logger\OutputLogger
- 或其他
更多
提示
如果您需要在ALTER TABLE
语句中生成... AFTER column
,请调用
$schemaGenerator->enablePositionChanges();
许可协议: 新BSD许可
作者:Jan Pecha,https://www.janpecha.cz/