为什么复合主键中的列顺序与Doctrine有关?

时间:2013-02-06 08:30:34

标签: php mysql doctrine-orm

我试图在数据库优先实现上使用Doctrine 2.3.2设置项目。在生成xml和映射之后,然后调用orm:validate-schema,它向我显示映射是正确的,但数据库验证失败。在使用模式工具找出我发现2个问题的问题时,我一遍又一遍地重复:

  1. 将我已经在255处的所有varchars更改为varchar(255)
  2. 使用例如列(A,B,C)删除我的主键,然后以不同的顺序(B,A,C)创建具有相同列的新主键
  3. 这两件事似乎毫无意义。为什么Doctrine会强迫我以看似毫无意义的方式改变我的架构?

    在不更改数据库架构的情况下解决这两个问题的方法是:

    1. 转换映射似乎没有将length属性添加到id字段 - 将其添加到xml
    2. 这似乎是由表中列的顺序与主键中列的顺序之间的差异引起的。重新排序xml条目的顺序以匹配主键的顺序。
    3. 不得不假设2#1我假设是一个错误 - 我将尽快报告。但是,在错误之上是#2还是以某种方式改变了Doctrine逻辑的命令混乱?

1 个答案:

答案 0 :(得分:0)

我越是想到这一点,我就越认为这是一种疏忽,而不是故意的。我当时觉得有些东西我不知道了,但我认为这些都是图书馆的问题,并且已经添加了教条的JIRA。

编辑:每个请求的链接

相关问题