n2boost / laravel-doctrine-mapping
2.0.1
2018-08-28 10:02 UTC
Requires
- doctrine/orm: ^2.6
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