Erweitern von SLICK-Tabellen auf DRY-Weise

Ich habe eine interessante Frage zu Slick / Scala, von der ich hoffe, dass einer von euch netten Jungs mir dabei helfen kann.

Ich habe mehrere Tabellen und als Erweiterung in SLICK-Fallklassen

case class A(...)
case class B(...)
case class C(...)

die diese gemeinsamen Felder teilen

(id: String, livemode: Boolean, created: DateTime, createdBy : Option[Account]) . 

Da diese Felder in jeder Klasse wiederholt werden, möchte ich die Möglichkeit untersuchen, sie in ein einzelnes Objekt oder einen einzelnen Typ zu extrahieren.

Wenn ich jedoch die SLICK-Tabellenobjekte erstelle, möchte ich, dass Dinge dort landen, wo auch diese gemeinsamen Felder enthalten sind, damit ich ihre individuellen Werte in jeder Tabelle beibehalten kann.

object AsTable extends Table[A]("a_table") { 
  ...
  def id = column[String]("id", O.PrimaryKey)
  def livemode = column[Boolean]("livemode", O.NotNull)
  def created = column[DateTime]("created", O.NotNull)
  def createdBy = column[Account]("created_by", O.NotNull)
  ... 
} 

Das Endergebnis, nach dem ich suche, besteht darin, dass ich Änderungen an den allgemeinen Feldern vornehmen kann, ohne jede Tabelle aktualisieren zu müssen.

Gibt es eine Möglichkeit, dies zu tun?

Danke im Voraus

Antworten auf die Frage(1)

Ihre Antwort auf die Frage