【问题标题】:Doctrine Schema Object creation and CasingDoctrine Schema 对象创建和套管
【发布时间】:2016-04-13 09:20:01
【问题描述】:

我正在调查与以下相关的问题:

  • Symfony2 2.3 LTS 上的 Doctrine 2.* 和 MySQL 服务器(5.1.73 和 5.7.9)

在数据库中创建的对象(架构和实体)与实体和参数文件中定义的大小写不同。 即:database_name: TestDB 将创建 'testdb' 而不是 'TestDB' 即:\....Bundle\Entity\Test: type: entity table: Test 将创建一个实体(表)'test' 而不是 'Test',这在使用 YML 或 Annotations 时都是如此。从而导致 PDO Exception of table not found。 有没有办法确保数据库对象命名尊重项目中定义的对象?

【问题讨论】:

  • 尝试将所有内容(数据库名称、表名称、列、索引等)重新格式化为下划线(带下划线的小写字母)。它可能不允许您以您想要的方式命名事物,但它可以解决大多数命名问题......除了保留字。
  • 也许问题是 MySQL 而不是 Doctrine?见dev.mysql.com/doc/refman/5.1/en/…

标签: mysql symfony doctrine-orm doctrine


【解决方案1】:

根据craigh提供的documentation,我更改了lower_case_table_names = 2的设置。这将允许查找将查找转换为小写,同时尊重 Create Statement Casing。

以下是与同一问题相关的支持性问题:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多