Ich weiß, ich kann immer einen eindeutigen DB-Schlüssel mit MYSQL-Schema festlegen, war aber nur neugierig, wenn ORM wie Doktrin erlaubt Ihnen, eine Spalte als einzigartig im Code zu setzen?
Zum Beispiel, wie kann ich es in Code machen, so dass Benutzernamen in Code zur Laufzeit einzigartig sind?
%Vor%Nur eine alternative Lösung, die ein wenig einfacher ist.
Wenn es sich um eine einzelne Spalte handelt, können Sie einfach einen eindeutigen Wert für die Spaltendefinition hinzufügen:
%Vor%Dokumentation dazu: Ссылка
Wenn Sie einen eindeutigen Index für mehrere Spalten benötigen, müssen Sie immer noch die von Andreas bereitgestellte Methode verwenden.
Hinweis: Ich bin mir nicht sicher, seit welcher Version es verfügbar ist. Es könnte sein, dass dies 2011 noch nicht verfügbar war.
Sie müssen die uniq-Einschränkungen in der @Table -Deklaration
festlegen%Vor%@UniqueConstraint
Annotation wird in der Annotation @Table für die Entitätsklasse verwendet Niveau. Es erlaubt, das SchemaTool anzudeuten, um eine eindeutige Datenbank zu erzeugen Einschränkung für die angegebenen Tabellenspalten. Es hat nur Bedeutung in der SchemaTool Schema Generierungskontext.
Erforderliche Attribute : name : Name des Index, Spalten : Array von Spalten.
Quelle: Ссылка