带有模式注释的 Doctrine ORM 表

Posted

技术标签:

【中文标题】带有模式注释的 Doctrine ORM 表【英文标题】:Doctrine ORM table with schema annotation 【发布时间】:2011-05-12 11:49:02 【问题描述】:

Postgres 中的模式和表名区分大小写。如何在 docblock 注释中指定正确的架构,使其不会转换为小写?

这些都不起作用:

@Table(name="MySchema.MyTable") // gets converted to lowercase
@Table(name="`MySchema`.`MyTable`") // invalid table
@Table(name="`MySchema.MyTable`") // also invalid table

Doctrine ORM 是 2.0.4

文档中也没有关于架构的说法,只是发现不再支持架构参数/关键字。

【问题讨论】:

Case problem with doctrine2, symfony2 and postgresql entities 的可能重复项 @Ross - 提到的线程中的解决方案有效,谢谢。 @Ross,您可能想将此作为答案。 【参考方案1】:

正如this 线程中提到的,Postgres 区分大小写,每个单词都必须转义:

@Table(name="""MySchema"".""MyTable""")

【讨论】:

以上是关于带有模式注释的 Doctrine ORM 表的主要内容,如果未能解决你的问题,请参考以下文章

使用 Doctrine ORM 注释扩展功能

在没有 Doctrine-ORM 注释的情况下填充字段集

如何将 Doctrine ORM 默认跟踪策略更改为延迟显式

Symfony 3 Doctrine MySQL - 使用 @ORM 注释生成实体

Doctrine 2.2 ORM:查找扩展实体

PhalconPHP 动态创建表