LaravelPackages.net
Acme Inc.
Toggle sidebar
n2boost/laravel-doctrine-mapping

1.290
2
2.0.1
About n2boost/laravel-doctrine-mapping

n2boost/laravel-doctrine-mapping is a Laravel package. It currently has 2 GitHub stars and 1.290 downloads on Packagist (latest version 2.0.1). Install it with composer require n2boost/laravel-doctrine-mapping. Discover more Laravel packages by n2boost or browse all Laravel packages to compare alternatives.

Last updated

Generate Entities and Sync Database with Yml Config File

This package allows you to manage database scheme with yml orm config.

The orm config file just like this:

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

Installation

Laravel

This package can be used in Laravel 5.4 or higher.

You can install the package via composer:

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

In Laravel 5.5 the service provider will automatically get registered. In older versions of the framework just add the service provider in config/app.php file:

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

You can publish the config file with:

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

If it doesn't works, please type:

php artisan vendor:publish

And select the true number options.

When published, the config/laravel-doctrine-mapping.php config file contains:

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',
        ]
    ]
];

If you use yaml config file engine, please install this dependence:

composer require symfony/yaml

Usage

Config Yml-Orm

Generate Entities

php artisan n2boost:orm:generate-entities

Sync Database

php artisan n2boost:orm:scheme-tool:update

文档参考:

Laravel 5.5 Package Development – Markus Tripp – Medium How to create a Laravel 5 package in 10 easy steps - Laravel Daily

Design

Config file

config/laravel-doctrine-mapping.php

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

Command Lines

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

Tools

composer remove symfony/yaml composer require symfony/yaml

Star History Chart