inlm / schema-generator-leanmapper
inlm/schema-generator 的 Lean Mapper 桥接器
v1.0.0
2023-07-28 07:18 UTC
Requires
- php: >=5.6.0
- inlm/schema-generator: ^1.0
- inlm/schema-generator-dibi: ^1.0
- tharos/leanmapper: ^3.0 || ^4.0
Requires (Dev)
- nette/tester: ^2.0
This package is auto-updated.
Last update: 2024-08-28 09:44:21 UTC
README
安装
composer require inlm/schema-generator-leanmapper
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');
文档
LeanMapperExtractor
从 Lean Mapper 实体生成模式。
$directories = '/path/to/model/Entities/'; // or $directories = [ '/path/to/model/Entities/', '/path/to/package/Entities/', ]; $mapper = new LeanMapper\DefaultMapper; $extractor = new Inlm\SchemaGenerator\LeanMapperBridge\LeanMapperExtractor($directories, $mapper);
标志
@property string|NULL $web m:schemaType(varchar:50)
如果主列是 integer
(@property int $id
),则自动获得 AUTO_INCREMENT
。
标志 m:schemaType
也可以与 自定义类型 一起使用 - 例如 m:schemaType(money)
或 m:schemaType(money unsigned)
。
如果缺少标志 m:schemaType
,则使用 默认类型 或您的 自定义类型。
注解
您可以在全局定义默认的 表选项。
示例
/** * @property int $id * @property string $name m:schemaType(varchar:100) * @schemaOption COLLATE utf8_czech_ci */ class Author extends \LeanMapper\Entity { }
许可证: New BSD 许可证
作者: Jan Pecha, https://www.janpecha.cz/