自光滑代码生成器(Customize slick code generator)

2019-10-21 06:38发布

如果我有

abstract class RichTable[T](tableTag: Tag, name: String) extends Table[T](tableTag, name) {
   val tenantId: Column[Int] = column[Int]("tenant_id")
}

和光滑生成的表类作为跟随

 class Dashboard(_tableTag: Tag) extends Table[DashboardRow](_tableTag, "dashboard") {

我想自定义光滑代码生成器来代替产生

class Dashboard(_tableTag: Tag) extends RichTable[DashboardRow](_tableTag, "dashboard") {
 ...
 override val tenantId: Column[Int] = column[Int]("tenant_id") //note override keyword
}

这是可以自定义漂亮的代码生成器特别针对这种情况? 注意: extends RichTable需要被选择性地应用(表类的列表VS每个生成的类)。

Answer 1:

对于RichTable你需要重写表的高清编码。

看到

https://github.com/slick/slick/blob/2.1/slick-codegen/src/main/scala/scala/slick/codegen/AbstractSourceCodeGenerator.scala#L128



文章来源: Customize slick code generator
标签: scala slick