【问题标题】:symfony2.6 doctrine2 schema_filter parameter not existssymfony2.6 学说2 schema_filter 参数不存在
【发布时间】:2015-06-18 15:20:04
【问题描述】:

我正在使用 symfony 2.6(composer.json 等于它的 github repo)并且我正在尝试使用 DBAL 的模式过滤器。

在 config.yml 中

# Doctrine Configuration
doctrine:
    dbal:
        schema_filter: ^sf2_

但在 shell 上返回错误:

[Symfony\Component\Config\Definition\Exception\InvalidConfigurationException]
  Unrecognized option "schema_filter" under "doctrine.dbal"

我错过了什么?

编辑:

config.yml(仅教义部分)

doctrine:
    dbal:
        default_connection: default
        connections:
            default:
                driver:   "%database.driver%"
                host:     "%database.master.host%"
                port:     "%database.master.port%"
                dbname:   "%database.master.dbname%"
                user:     "%database.master.user%"
                password: "%database.master.password%"
                charset:  UTF8
                options:
                    1002:  "SET NAMES 'UTF8'"
                # if using pdo_sqlite as your database driver, add the path in parameters.yml
                # e.g. database_path: "%kernel.root_dir%/data/data.db3"
                # path:     "%database_path%"
                slaves:
                    slave1:
                        host:     "%database.slave1.host%"
                        port:     "%database.slave1.port%"
                        dbname:   "%database.slave1.dbname%"
                        user:     "%database.slave1.user%"
                        password: "%database.slave1.password%"
                mapping_types:
                    enum:   string
                    set:    string
                    bit:    boolean
        types:
        # some types

    orm:
        auto_generate_proxy_classes: "%kernel.debug%"
        default_entity_manager: default
        entity_managers:
            default:
                connection: default

(发布)考虑:

无论如何,schema_filter 不符合我的要求,用 reg exp 定义太模糊(我的意思是我的实际模式需要一个太复杂的 reg exp,而且根本不实用)。我在学说 2 组中发布了“增强”此选项的请求。 https://groups.google.com/forum/#!topic/doctrine-user/Tr4kkpIxwRk

【问题讨论】:

    标签: symfony doctrine-orm dbal


    【解决方案1】:

    您的确切 symfony 版本是什么?我用 Symfony 2.6.5 尝试了这个配置选项,一切正常。

    您是否碰巧有多个连接?在页面末尾的文档中有一条说明:

    请注意,如果您配置了多个连接,则需要每个连接放置 schema_filter 配置。

    Manual tables

    【讨论】:

    • symfony 2.6.6 学说.dbal 2.4.4 学说捆绑 1.4.0 学说/orm 2.4.7 等等。只需从 symfony2.6 标准 comnposer.json 文件中更新作曲家即可。
    • 更新到您指定的版本。仍然没有任何问题。您能否仅编辑并包含您的 doctrine 配置,整个配置。
    • 包含 config.yml
    • 和我想的一样。您定义了多个连接。看看我之前添加的块引用,以及链接。例如,您应该在 charset 下的教义.dbal.connections.default 中包含该选项。
    • 对于多重连接,即使对于不同的环境仍然如此吗?好吧,我想这件事有点,但根本没有意义,因为它不知道其他环境中的其他连接学说......还是取决于 synfony2?你能解释一下为什么会这样吗?
    【解决方案2】:

    schema_filter 参数是 Doctrine Migrations 捆绑包的一部分。你安装了吗?

    【讨论】:

    • 是的。我安装了。我遵循了 symfony2 文档中的规则。 symfony.com/doc/current/bundles/DoctrineMigrationsBundle/…
    • 你能检查一下它确实安装了吗?查看终端,看它是否接收到doctrine:migrations 命令。
    • 是的,它已安装,因为我已经在没有该选项的情况下使用过。是的,它出现在控制台脚本中列出的可用命令列表中
    • 您是否有多个连接(根据@Andariel 的回答)?
    • 我只有一个用于开发和生产环境的连接。对于多了一个连接的测试环境来说,情况略有不同。
    猜你喜欢
    • 1970-01-01
    • 2011-11-15
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 2011-12-13
    • 2013-04-24
    • 1970-01-01
    • 2013-03-22
    相关资源
    最近更新 更多