我正在使用带有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_at
,event
和user_id
作为yaml中的主键),然后将生成的SQL修改为删除PRIMARY KEY“句子,但我认为这不是一个优雅的解决方案。
答案 0 :(得分:1)
只要我知道Doctrine,至少是Doctrine 1.2,就会强迫你在所有表中都有一个主键。我在文档中找不到任何关于将其设置为false的内容。您可以看到相关问题here。