2012-08-13 14 views
34

Chciałbym dodać opis kolumny (zwany również „komentarz”) do kolumny zdefiniowanej przez podmiot Doctrine2 ale nie można znaleźć żadnych informacji o tym, jak zrobić to przy użyciu @Column annotation bez możliwości złamania SchemaTool Doctrine.Jak dodać opisy kolumn (komentarze) w Doctrine2

Gdybym użyć atrybutu columnDefinition z @Column annotation jak

@Column(type="string" columnDefinition="COMMENT 'This is a column comment'") 

się annotations reference stany

SchemaTool nie wykryje zmian na kolumnie już poprawnie, jeśli używasz „columnDefinition”.

Czy istnieje sposób zdefiniowania opisu kolumny bez zerwania SchemaTool?

Jedyną wskazówką, którą otrzymałem, było this pull request, które zakończyło się na ". Zostało to rozwiązane na różne sposoby:".

Z góry dziękuję.

Odpowiedz

57

Możesz dodać komentarz do nazwy kolumny lub całej tabeli z argumentem "options" do adnotacji; np:

/** 
* @ORM\Column(type="string", options={"comment":"The string to show in the dropdown "}) 
*/ 

dla kolumny lub na stole:

/** 
* @ORM\Entity 
* @ORM\Table(name="application", options={"comment":"Funding applications"}); 
*/ 

Uwaga jednak nie będzie dodawać komentarze do istniejącej tabeli lub kolumny, trzeba usunąć tabelę z DB i odbudować to. Jeśli jest to tylko dodawanie komentarzy, możesz zmienić nazwę tabeli, utworzyć nową tabelę i zaimportować dane z oryginału.

Źródło: Doctrine documentation

+1

Doskonale, dziękuję! Ponieważ jesteśmy teraz w fazie rozwoju, nie ma problemu z odbudową bazy danych. Gdzie to znalazłeś? Przekopałem cały kod, który myślałem ... – flu

+0

Należy pamiętać, że twój komentarz zostanie dodany do instrukcji SQL tak, jak jest (bez ucieczki), więc jeśli użyjesz apostrofów w komentarzu, pamiętaj, aby uciec od nich. na przykład. 'options = {" comment "=" Łańcuch do pokazania w liście rozwijanej z wartością domyślną \ "none selected \ '"} ' –

+0

Co z relacjami? Jak dodać komentarz do kolumny w relacji? – SpartakusMd

Powiązane problemy