inlm/schema-generator-leanmapper

inlm/schema-generator 的 Lean Mapper 桥接器

v1.0.0 2023-07-28 07:18 UTC

This package is auto-updated.

Last update: 2024-08-28 09:44:21 UTC


README

Build Status Downloads this Month Latest Stable Version License

Donate

安装

下载最新包 下载 或使用 Composer

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');

文档

LeanMapperExtractorLean 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/