n2boost/laravel-doctrine-mapping

2.0.1 2018-08-28 10:02 UTC

This package is not auto-updated.

Last update: 2024-09-29 06:07:01 UTC


README

此包允许您使用 yml orm 配置管理数据库模式。

orm 配置文件如下所示

Entity\User:
    type: entity
    table: user
    id:
        id:
            type: integer
            id: true
            generator:
                strategy: IDENTITY
    fields:
        username:
            type: string
            nullable: true
            length: 128
        password:
            type: string
            nullable: true

安装

Laravel

此包可用于 Laravel 5.4 或更高版本。

您可以通过 composer 安装此包

composer require n2boost/laravel-doctrine-mapping dev-master

在 Laravel 5.5 中,服务提供者将自动注册。在框架的旧版本中,只需将服务提供者添加到 config/app.php 文件中即可

'providers' => [
    // ...
    N2boost\LaravelDoctrineMapping\LaravelDoctrineMappingServiceProvider::class,
];

您可以使用以下命令发布配置文件

php artisan vendor:publish --provider="N2boost\LaravelDoctrineMapping\LaravelDoctrineMappingServiceProvider::class" --tag="config"

如果不起作用,请输入

php artisan vendor:publish

并选择正确的选项。

发布后,config/laravel-doctrine-mapping.php 配置文件包含

return [

    /*
     * Mapping Config Engines.
     * Can set to: yaml
     */

    'mapping_type' => 'yaml',

    /*
     * Mapping config files dir
     * full path will like this example: config/mappings/yaml/User.dcm.yml
     */
    'mapping_file_dir' => 'config/mappings',

    'entities_file_dir' => 'resources/classes',

    'profile' => 'local',
    'isDevMode' => true,

    'use_connection_pool' => 'laravel', // laravel, self
    'connection' => 'mysql',

    'connections' => [
        'mysql' => [
            'driver' => 'pdo_mysql',
            'host' => '127.0.0.1',
            'port' => 3306,
            'user' => 'root',
            'password' => '',
            'dbname' => 'hunter',
            'charset' => 'utf8mb4',
            'collate' => 'utf8mb4_unicode_ci',
        ]
    ]
];

如果您使用 yaml 配置文件引擎,请安装此依赖

composer require symfony/yaml

使用

配置 Yml-Orm

生成实体

php artisan n2boost:orm:generate-entities

同步数据库

php artisan n2boost:orm:scheme-tool:update

赞助商

文档参考

Laravel 5.5 Package Development – Markus Tripp – Medium 如何在 10 个简单步骤中创建 Laravel 5 包 - Laravel Daily

设计

配置文件

config/laravel-doctrine-mapping.php

  • 配置数据库连接
  • 配置 mapping 文件目录
  • 配置 entity 生成文件目录

命令行

  • php artisan n2boost:orm:generate-entities
  • php artisan n2boost:orm:scheme-tool:update

工具

composer remove symfony/yaml composer require symfony/yaml