aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStewart Stewart <stewinsalot@gmail.com>2017-09-26 06:13:13 -0700
committerGitHub <noreply@github.com>2017-09-26 06:13:13 -0700
commit84786aac6b05294181aec11b326f73df30d23e82 (patch)
tree7bc0e043474abeea7065504fcd9fe8319b99291a
parent994c2c743335cc38706ac9f237cdeef10903d779 (diff)
parenta20d55523e6cb16611454253c34ef4cce6314779 (diff)
downloadslick-codegen-plugin-84786aac6b05294181aec11b326f73df30d23e82.tar.gz
slick-codegen-plugin-84786aac6b05294181aec11b326f73df30d23e82.tar.bz2
slick-codegen-plugin-84786aac6b05294181aec11b326f73df30d23e82.zip
Merge pull request #31 from drivergroup/remove-instantiated-model
Don't instatiate slick data model automatically
-rw-r--r--src/main/scala/Main.scala13
-rw-r--r--src/main/scala/OutputHelpers.scala15
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)