创建小写表的教义参数?

Doctrine parameter to create lower-case tables?

Doctrine 使用与实体相似的名称创建 tables,使用相同的大小写。 问题当然是有些系统或环境设置不同,可能会导致dev/stage/prod之间的问题。

虽然我们已经将 lower_case_table_names=1 放入我们的数据库,并手动更改每个 table 映射以使其不敏感,但这不是很方便。


所以这是我的问题:
是否没有现有的方法可以让 Doctrine 以小写形式创建 tables?
我觉得很奇怪的是(据我所知),标准是 entities/classes 以大写开头,而数据库 table 名称应该只是 lower_case.

所以我期望默认行为会创建小写的 tables,或者至少,一个简单的布尔 Doctrine 参数可以启用它。

我们使用 Symfony2。 这是用于我们 table 的映射(在 this SO thread 中找到)

/**
 * @Entity
 * @Table(name="something")
 */
class Something {
    [...]
}

我也读到了 underscore naming strategy,但是用下划线替换驼峰式大小写并不意味着它也会删除起始资本,是吗? (我不是该项目的开发人员,所以我无法尝试)

设置优选的命名策略:https://www.doctrine-project.org/projects/doctrine-orm/en/2.10/reference/namingstrategy.html#underscore-naming-strategy

在config.yml中:

doctrine:
    orm:
        entity_managers:
            default:
                naming_strategy: doctrine.orm.naming_strategy.underscore