Bal*_*our 3 mapping doctrine case-insensitive symfony
Doctrine 使用相同的大小写创建名称与实体相似的表。当然,问题是某些系统或环境有不同的设置,这可能会导致 dev/stage/prod 之间出现问题。
虽然我们已经安装lower_case_table_names=1了数据库,并手动更改了每个表映射以使其不敏感,但这并不是很方便。
所以这是我的问题:
是否没有现有的方法可以要求 Doctrine 以小写形式创建表格?
对我来说,似乎很奇怪的是(据我所知),标准是具有以大写字母开头的实体/类,而数据库表名称应该仅是小写。
所以我期望默认行为会创建小写表,或者至少,一个简单的布尔 Doctrine 参数可以实现这一点。
我们使用 Symfony2。这是用于我们的表的映射(在此 SO 线程中找到)
/**
* @Entity
* @Table(name="something")
*/
class Something {
[...]
}
Run Code Online (Sandbox Code Playgroud)
我也读过有关 的内容underscore naming strategy,但用下划线替换驼峰式大小写并不意味着它也会删除起始资本,不是吗?(我不是该项目的开发人员,所以无法尝试)
在config.yml中:
doctrine:
orm:
entity_managers:
default:
naming_strategy: doctrine.orm.naming_strategy.underscore
Run Code Online (Sandbox Code Playgroud)