środa, 20 sierpnia 2008

Symfony, propel, struktura bazy danych, unikalne kolumny

Definiowanie unikalnych kolumn, to w zasadzie dodanie 2 linii w pliku schema.yml (schema.yml to plik, w którym definiujemy strukturę bazy w projektach opartych na Propelu / Symfony).

Mamy tabelę books:
books:
_attributes:       { phpName: Book }
id:                ~ #symfony default
title:             { type: varchar(255) }
ISBN:              { type: varchar(255) }


Chcemy teraz, aby nasza tabela nie zawierała duplikatów. Dla przykładu książek o tym samym numerze ISBN.

W tym celu dodajemy atrybut _uniques a następnie podajemy nazwę klucza books_unique_isbn oraz nazwę kolumny (lub po przecinku kolumn). W efekcie nowa definicja tabeli books:

books:
_attributes:        { phpName: Book }
id:                 ~ #symfony default
title:              { type: varchar(255) }
ISBN:               { type: varchar(255) }
_uniques:
books_unique_isbn: [ISBN]


Jeżeli chcemy aby 2 lub więcej kolumn tworzyło klucz unikalny podajemy ich nazwy rozdzielone przecinkami, np:
books_unique:    [ISBN, title]

Brak komentarzy:

Prześlij komentarz