shoofly/doctrine-multi-schema-bundle 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

shoofly/doctrine-multi-schema-bundle

Composer 安装命令:

composer require shoofly/doctrine-multi-schema-bundle

包简介

Enables multiple schemas for Doctrine + Symfony

README 文档

README

Enables Multiple Schemas for MySQL on Doctrine

I created this bundle to fulfill a need for one of my projects. It is not thoroughly tested for all use cases, and will be regularly updated.

If you find this useful but spot a bug, I welcome PRs.

The Premise

Doctrine treats MySQL databases the same as PostgreSQL databases. The truth is that MySQL databases are closer in nature to a PostgreSQL schema, and the term DATABASE can be used interchangeably with SCHEMA in MySQL, even in syntax:

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name ...

This makes it very difficult to handle MySQL layouts that use more than one schema - often a reality in inherited code.

If your personal use case is transferring an existing project with multiple schemas into a Symfony project, and you'd like to use Doctrine, then this bundle seeks to make that possible.

Installation

In your Symfony project, install with

composer require shoofly/doctrine-multi-schema-bundle

Add to your Symfony AppKernel.php:

$bundles = [
    new Shoofly\DoctrineMultiSchemaBundle\ShooflyDoctrineMultiSchemaBundle(),
];

Configuraiton

IMPORTANT: Remove your driver and platform, and replace it with these two parameters.

doctrine:
    dbal:
        driver_class: 'Shoofly\DoctrineMultiSchemaBundle\DBAL\MySQL\Driver'
        platform_service: "shoofly_doctrine_multi_schema.platform57"
        # for MySQL < 5.7, choose this:
        # platform_service: "shoofly_doctrine_multi_schema.platform"

Next, list the schemas you want to include in your ORM:

shoofly_doctrine_multi_schema:
    schemas:
        - foo
        - baz
        - bar

That should be the only configuration you need. If you run into any issues, please let me know.

Hope this helps someone else. If not, it's already helped me :)

统计信息

  • 总下载量: 2.35k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-04-03

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固