Skip to content

n2boost/laravel-doctrine-mapping

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Sponsor

文档参考:

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

About

Generate Entities and Sync Database with Yml Config File

Resources

Stars

Watchers

Forks

Packages

No packages published