Отключить автоматическую генерацию Id-поля в Doctrine 1.2 - PullRequest
0 голосов
/ 12 июля 2011

Я использую Symfony 1.4 с Doctrine 1.2, и у меня есть следующая таблица в формате 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)

Проблема в том, что мне не нужно поле идентификатора, сгенерированное доктриной, потому что хранилище ARCHIVEДвижок не допускает индексы, автоинкрементные значения или первичные ключи.Я не нашел в Документации Доктрины, как отключить это поведение.

Кто-нибудь знает, как я могу решить эту проблему?Единственный способ, который я нашел, - добавить фиктивный первичный ключ (например, сделать created_at, event и user_id в качестве первичных ключей в yaml), а затем изменить сгенерированный SQL, чтобы удалить предложения "ПЕРВИЧНЫЙ КЛЮЧ"но я думаю, что это не элегантное решение.

1 Ответ

1 голос
/ 15 июля 2011

Пока я знаю Доктрину, по крайней мере, Доктрину 1.2, вы заставляете вас иметь первичный ключ во всех ваших таблицах. Я не могу найти ничего в документации о настройке на false. Вы можете увидеть связанный вопрос здесь .

...