Ich arbeite gerade an einer liquibase.xml-Datei, um die Tabelle table_a zu erstellen. Eines meiner Felder ist <column name="state" type="ENUM('yes','no')">
Ich benutze postgresql als mein DBMS. Gibt es etwas wie enum data type?
Ich habe das gelesen wie Ссылка
dass postgresql keinen solchen Datentyp hat. CREATE TYPE-Funktion wird verwendet, um diesen Datentyp zu erstellen. Ich weiß immer noch nicht, wie man es in Liquibase macht.
Irgendwelche Vorschläge?
Nun, natürlich hat PostgreSQL einen Enum-Typ (was in dem Link, den Sie gezeigt haben, und im Handbuch eindeutig dokumentiert ist).
Ich glaube nicht, dass Liquibase "nativ" Enums für PostgreSQL unterstützt, aber Sie sollten es mit einem benutzerdefinierten SQL erreichen können:
%Vor% Für eine einfache Ja / Nein-Spalte würde ich tatsächlich den boolean
-Typ anstelle einer Aufzählung verwenden
Eine Alternative zum Erstellen eines neuen Typs wäre eine einfache CHECK-Einschränkung für eine varchar(3)
-Spalte:
Das könnte besser mit der Client-Seite spielen oder nicht. Ich denke, boolean
(wie von a_horse_with_no_name vorgeschlagen) wäre ein besserer Aufruf für diesen speziellen Fall: genau zu sagen, was du meinst, funktioniert normalerweise besser als die Alternativen.
Tags und Links postgresql liquibase liquid-layout