From a20d55523e6cb16611454253c34ef4cce6314779 Mon Sep 17 00:00:00 2001 From: Stewart Stewart Date: Mon, 25 Sep 2017 19:22:19 -0700 Subject: Don't instatiate slick data model automatically --- src/main/scala/Main.scala | 13 ++----------- src/main/scala/OutputHelpers.scala | 15 +++------------ 2 files changed, 5 insertions(+), 23 deletions(-) diff --git a/src/main/scala/Main.scala b/src/main/scala/Main.scala index eee6c6f..39100eb 100644 --- a/src/main/scala/Main.scala +++ b/src/main/scala/Main.scala @@ -7,7 +7,7 @@ import slick.codegen.SourceCodeGenerator import slick.jdbc.JdbcProfile trait TableFileGenerator { self: SourceCodeGenerator => - def writeTablesToFile(profile: String, folder: String, pkg: String, fileName: String): Unit + def writeTablesToFile(folder: String, pkg: String, fileName: String): Unit } trait RowFileGenerator { self: SourceCodeGenerator => @@ -17,17 +17,13 @@ trait RowFileGenerator { self: SourceCodeGenerator => object Generator { private def outputSchemaCode(schemaName: String, - profile: String, folder: String, pkg: String, tableGen: TableFileGenerator, rowGen: RowFileGenerator): Unit = { val camelSchemaName = schemaName.split('_').map(_.capitalize).mkString("") - tableGen.writeTablesToFile(profile: String, - folder: String, - pkg: String, - fileName = s"${camelSchemaName}Tables.scala") + tableGen.writeTablesToFile(folder: String, pkg: String, fileName = s"${camelSchemaName}Tables.scala") rowGen.writeRowsToFile(folder: String, pkg: String, fileName = s"${camelSchemaName}Rows.scala") } @@ -55,10 +51,6 @@ object Generator { parsedSchemasOpt.getOrElse(Map.empty).foreach { case (schemaName, tables) => - val profile = - s"""slick.basic.DatabaseConfig.forConfig[slick.jdbc.JdbcProfile]("${uri - .getFragment()}").profile""" - val schemaOnlyModel = Await.result(dc.db.run(ModelTransformation .createModel(dc.profile, Some(Map(schemaName -> tables)))), Duration.Inf) @@ -89,7 +81,6 @@ object Generator { ) outputSchemaCode(schemaName = schemaName, - profile = profile, folder = outputPath, pkg = pkg, tableGen = tableGenerator, diff --git a/src/main/scala/OutputHelpers.scala b/src/main/scala/OutputHelpers.scala index 975bed9..6b0ab2e 100644 --- a/src/main/scala/OutputHelpers.scala +++ b/src/main/scala/OutputHelpers.scala @@ -6,22 +6,13 @@ trait TableOutputHelpers extends TableFileGenerator with OutputHelpers { self: S def schemaName: String def imports: String - def packageTableCode(headerComment: String, - pkg: String, - schemaName: String, - imports: String, - profile: String): String = + def packageTableCode(headerComment: String, pkg: String, schemaName: String, imports: String): String = s"""|${headerComment.trim().lines.map("// " + _).mkString("\n")} |package $pkg |package $schemaName | |$imports | - |/** Stand-alone Slick data model for immediate use */ - |object tables extends { - | val profile = $profile - |} with Tables - | |/** Slick data model trait for extension, choice of backend or usage in the cake pattern. (Make sure to initialize this late.) */ |trait Tables${parentType.fold("")(" extends " + _)} { | import profile.api._ @@ -29,8 +20,8 @@ trait TableOutputHelpers extends TableFileGenerator with OutputHelpers { self: S |} |""".stripMargin.trim() - def writeTablesToFile(profile: String, folder: String, pkg: String, fileName: String): Unit = { - writeStringToFile(content = packageTableCode(headerComment, pkg, schemaName, imports, profile), + def writeTablesToFile(folder: String, pkg: String, fileName: String): Unit = { + writeStringToFile(content = packageTableCode(headerComment, pkg, schemaName, imports), folder = folder, pkg = s"$pkg.$schemaName", fileName = fileName) -- cgit v1.2.3