在Doctrine 1.2中禁用自动Id字段生成

时间:2011-07-12 18:10:13

标签: mysql symfony1 doctrine

我正在使用带有Doctrine 1.2的symfony 1.4,我有yaml格式的下表:

Log:
  options:
    type:             ARCHIVE
  actAs:              
    Timestampable:    
      updated:
        disabled: true
  tableName:          user_log
  columns:
    event:       integer(4)
    user_id:     integer(4)
    ip:          integer(5)
    country:     string(2)
    message:     string(100)

问题是我不需要doctrine生成的ID字段,因为ARCHIVE存储引擎不允许索引,自动增量值或主键。我没有在Doctrine Documentation中找到如何禁用此行为。

有谁知道如何处理这个问题?我找到的唯一方法是添加一个虚拟主键(例如,将created_ateventuser_id作为yaml中的主键),然后将生成的SQL修改为删除PRIMARY KEY“句子,但我认为这不是一个优雅的解决方案。

1 个答案:

答案 0 :(得分:1)

只要我知道Doctrine,至少是Doctrine 1.2,就会强迫你在所有表中都有一个主键。我在文档中找不到任何关于将其设置为false的内容。您可以看到相关问题here