diff --git a/src/main/scala/slick/examples/codegen/Example.scala b/src/main/scala/slick/examples/codegen/Example.scala index d10379a..d16a3ae 100644 --- a/src/main/scala/slick/examples/codegen/Example.scala +++ b/src/main/scala/slick/examples/codegen/Example.scala @@ -15,22 +15,25 @@ import scala.language.postfixOps import slick.examples.codegen.Tables.* import slick.examples.codegen.Tables.profile.api.* -object Example extends App { +object Example { // connection info for a pre-populated throw-away, in-memory db for this demo, which is freshly initialized on every // run val url = "jdbc:h2:mem:test;INIT=runscript from 'src/main/sql/create.sql'" - val db = Database.forURL(url, driver = "org.h2.Driver") - - // Using generated code. Our Build.sbt makes sure they are generated before compilation. - val q = Companies - .join(Computers) - .on(_.id === _.manufacturerId) - .map { case (co, cp) => (co.name, cp.name) } - - Await.result( - db.run(q.result).map { result => - println(result.groupMap(_._1)(_._2).mkString("\n")) - }, - 60 seconds - ) + + def main(args: Array[String]): Unit = { + val db = Database.forURL(url, driver = "org.h2.Driver") + + // Using generated code. Our Build.sbt makes sure they are generated before compilation. + val q = Companies + .join(Computers) + .on(_.id === _.manufacturerId) + .map { case (co, cp) => (co.name, cp.name) } + + Await.result( + db.run(q.result).map { result => + println(result.groupMap(_._1)(_._2).mkString("\n")) + }, + 60 seconds + ) + } }