ich eine große Anzahl von Slick-Tabellen mit einer ID
Spalte haben, definiert alsBenutzerdefinierte Spaltentyp mit Spaltenoptionen implizierte
def id = column[Int]("ID", O.PrimaryKey, O.AutoInc, O DBType "INT UNSIGNED")
und ich frage mich, ob es eine Möglichkeit, eine benutzerdefinierte IDPK
Art zu schaffen, die würde irgendwie die Verwendung der verschiedenen oben genannten Optionen "implizieren", z
case class IDPK(id: Int) extends AnyVal
def id = column[IDPK]("ID")
// O.PrimaryKey, O.AutoInc, O DBType "INT UNSIGNED" are all implied
Ich weiß, ich könnte eine Komfortfunktion entlang der Linien von def makeIDPK = column[Int]("ID", .....)
machen, aber meine Frage ist, ob oder ob nicht eine Art bestimmte Spaltenoptionen implizieren, gemacht werden kann.
Ich habe festgestellt, dass, wenn ich show create table <tablename>
ausführen, gibt es Optionen, die ich nicht explizit angeben, z. NOT NULL
für Nicht-Option-Spalten oder DEFAULT NULL
für Option-Spalten. Aus diesem Grund hoffe ich auf eine "Ja" -Antwort, aber ich konnte so etwas nicht finden, während ich durch die Slick-Dokumentation blicke.
'show create table' wird hier irreführend sein, da die meisten Datenbanken Standardeinstellungen für alle ihre Einstellungen haben, und fügen sie hinzu, auch wenn Slick nicht. – jkinkead