Beim Erstellen einer Tabelle in PostgreSQL werden Standardbeschränkungsnamen zugewiesen, wenn sie nicht angegeben werden:
CREATE TABLE example (
a integer,
b integer,
UNIQUE (a, b)
);
Aber mit ALTER TABLE
einer Einschränkung hinzuzufügen , er einen Namen scheint , ist zwingend notwendig:
ALTER TABLE example ADD CONSTRAINT my_explicit_constraint_name UNIQUE (a, b);
Dies hat bei Projekten, an denen ich gearbeitet habe, zu Namensinkonsistenzen geführt und die folgenden Fragen aufgeworfen:
Gibt es eine einfache Möglichkeit, einer vorhandenen Tabelle eine Einschränkung mit dem Namen hinzuzufügen, den sie erhalten hätte, wenn sie während der Tabellenerstellung hinzugefügt worden wäre?
Wenn nicht, sollten Standardnamen vollständig vermieden werden, um Inkonsistenzen zu vermeiden?