Scala Slick codegen 自定义命名

Scala Slick codegen custom naming

我正在使用 slick codegen 为 myMySql 数据库生成 table 定义。如何覆盖 slick 的代码生成命名约定?它为 table 个查询对象生成以下代码:

lazy val User = new TableQuery(tag => new User(tag))

我希望它看起来像这样:

lazy val slickUser = new TableQuery(tag => new User(tag))

P.S。我看过这个例子:https://github.com/slick/slick-codegen-customization-example,但我想知道是否有更简单的方法来实现这个?

没有"easier"方法。至少我不知道一个。但是你可能会发现这个 sbt 插件很有用:sbt-slick-codegen。你在 build.sbt 中的 slickCodegenCodeGenerator 看起来像这样(未经测试):

slickCodegenCodeGenerator := { (model:  m.Model) =>
  new SourceCodeGenerator(model) {
    override def tableName = (dbName: String) => "slick" + dbName.capitalize
  }
}