type mismatch error on Slick codegen'd table definitions

24 views
Skip to first unread message

tom.la...@incrowdnow.com

unread,
Jan 19, 2017, 5:34:31 PM1/19/17
to Slick / ScalaQuery
Hello - using a slick codegen defined as follows:

  val outputDir = sourceManaged.value / "slick"
  val pkg = "model"
val (url, user, pwd) = Conf.dbConf.value
val jdbcDriver = "com.mysql.jdbc.Driver"
val slickDriver = "slick.driver.MySQLDriver"
val driver = slick.driver.MySQLDriver
val dbFactory = driver.api.Database
val db = dbFactory.forURL(url, driver = jdbcDriver, user = user, password = pwd)
val excludedTables = Seq("schema_version")
val tables =
driver.defaultTables
.map(_.filterNot(excludedTables contains _.name.name))
val modelAction = driver.createModel(Some(tables), ignoreInvalidDefaults = true).withPinnedSession
val modelFuture = db.run(modelAction)
val codegenFuture = modelFuture.map(model => new SourceCodeGenerator(model) {

})
codegenFuture.onSuccess { case codegen =>
codegen.writeToFile(
slickDriver,outputDir.getPath, pkg, "SlickTableDefs", "TableDefs.scala"
)
}

I get errors of the following type for every table in my schema:

[error]  found   : slick.lifted.Tag
[error]  required: SlickTableDefs.this.Tag
[error]   lazy val ActivityType = new TableQuery(tag => new ActivityType(tag))

What am I doing wrong?

Thanks,

Tom
Reply all
Reply to author
Forward
0 new messages