pitech-mures/mssqlbundle

安装: 729

依赖项: 0

建议者: 0

安全性: 0

星标: 0

关注者: 2

分支: 1

开放性问题: 0

类型:symfony-bundle

v1.1 2017-09-13 13:27 UTC

This package is not auto-updated.

Last update: 2024-09-20 19:19:50 UTC


README

此捆绑包包含对 mediamonks/symfony-mssql-bundle 的调整,以确保与 Microsoft Sql Server 2005 的兼容性。此说明基于在 mediamonks github 上的原始说明。

安装

A) 将 Pitech 捆绑包添加到项目中

    composer require pitech-mures/mssqlbundle

B) 在 AppKernel.php 中初始化 Pitech 和 Mediamonks 捆绑包

    new MediaMonks\MssqlBundle\MediaMonksMssqlBundle(),
    new Pitech\MssqlBundle\PitechMssqlBundle(),

C) 启用驱动器

现在您应该可以通过更新 app/config/config.yml 中的 Doctrine DBAL 配置来启用驱动器,使其看起来像这样

    doctrine:
        dbal:
            driver_class: Pitech\MssqlBundle\DBAL\Driver\PDODblib\Driver
            wrapper_class: MediaMonks\MssqlBundle\Doctrine\DBAL\Connection
            host:     "%database_host%"
            port:     "%database_port%"
            dbname:   "%database_name%"
            user:     "%database_user%"
            password: "%database_password%"
            charset:  UTF-8

D) 启用 DB 会话处理器

由于 Symfony 提供的默认 PDO 会话处理器不支持 pdo_dblib,需要一个自定义处理器。幸运的是,配置它与配置默认处理器非常相似。

打开 app/services.yml 并添加以下服务

    services:
        pdo:
            class: MediaMonks\MssqlBundle\PDO\PDO
            arguments:
                host: "%database_host%"
                port: "%database_port%"
                dbname: "%database_name%"
                user: "%database_user%"
                password: "%database_password%"
                options:
            calls:
                - [setAttribute, [3, 2]] # \PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION

        session.handler.pdo:
            class:     MediaMonks\MssqlBundle\Session\Storage\Handler\PdoSessionHandler
            public:    false
            arguments: ["@pdo"]

E) 启用 Composer 脚本

打开您的 composer.json 文件,并确保脚本添加到 post-install-cmdpost-update-cmd

    "scripts": {
        "post-install-cmd": [
            "MediaMonks\\MssqlBundle\\Composer\\ScriptHandler::ensureDoctrineORMOverrides"
        ],
        "post-update-cmd": [
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap"
        ]
    }