Синтаксис YAML для уникальных столбцов в Propel - PullRequest
0 голосов
/ 19 января 2012

Насколько я знаю, чтобы сделать столбец уникальным, следует использовать приведенную ниже структуру:

database:
  table_name:
    column_name: { ..., index: unique }

Я хочу сделать несколько столбцов уникальными одновременно.Как я собираюсь это сделать?Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 21 января 2012

AFAIK вы не можете этого сделать.О, и вы должны использовать формат XML вместо YAML.

РЕДАКТИРОВАТЬ: на самом деле, есть возможность обработать это в YAML:

Article:
  indexes:
    my_index:       [title(10), user_id]

См. этот файл фикстур из плагина для получения дополнительной информации.

0 голосов
/ 02 июля 2012

Если вы говорите о составном уникальном ключе (например, наличие уникального ключа, основанного на комбинации нескольких полей в одной таблице), вот как вы это сделаете:

<unique name="document-version-index">
  <unique-column name="document_id" />
  <unique-column name="version_id" />
</unique>

Что касается синтаксиса yaml, я знаю, что вы можете сделать это в доктрине (см. Ниже), но не уверен точно в формате propel.

Формат Doctrine (-> из потока stackoverflow: первичный ключ + составной первичный ключ, вызывающий проблему ):

Pet:
  columns:
  pet_name:  {type: string(32)}
  owner_id: {type: integer}
indexes:
  owner_name:
    fields: [pet_name, owner_id]
    type: unique
...