Scala Slick Codegen пользовательские имена

Я использую Slick Codegen для генерации определений таблиц для myMySql DB. Как я могу переопределить соглашения о присвоении кодов именам slick? Он генерирует следующий код для объектов запроса таблицы:

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

Я хочу, чтобы это выглядело так:

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

PS Я видел этот пример: https://github.com/slick/slick-codegen-customization-example, но мне интересно, есть ли более простой способ добиться этого?

1 ответ

Решение

Нет более "легкого" пути. По крайней мере, я не знаю ни одного. Но вы можете найти этот плагин sbt полезным: sbt-slick-codegen. Ваш slickCodegenCodeGenerator в build.sbt будет выглядеть так (непроверенный):

slickCodegenCodeGenerator := { (model:  m.Model) =>
  new SourceCodeGenerator(model) {
    override def tableName = (dbName: String) => "slick" + dbName.capitalize
  }
}
Другие вопросы по тегам