aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStewart Stewart <stewinsalot@gmail.com>2017-03-02 15:36:23 -0800
committerStewart Stewart <stewinsalot@gmail.com>2017-03-02 15:36:26 -0800
commit35a171bbadfe3130e95cb3677bf3695d2364a4ac (patch)
treea0c1df9c7d2a13c813107ce47cae09e3fc22b9c5
parent2dfb2c893af3be9100af229d229087700f7c2862 (diff)
downloadslick-codegen-plugin-35a171bbadfe3130e95cb3677bf3695d2364a4ac.tar.gz
slick-codegen-plugin-35a171bbadfe3130e95cb3677bf3695d2364a4ac.tar.bz2
slick-codegen-plugin-35a171bbadfe3130e95cb3677bf3695d2364a4ac.zip
don't create tables object by default
-rw-r--r--src/main/scala/Main.scala21
-rw-r--r--src/main/scala/OutputHelpers.scala17
2 files changed, 21 insertions, 17 deletions
diff --git a/src/main/scala/Main.scala b/src/main/scala/Main.scala
index 5bd84d1..5cfa502 100644
--- a/src/main/scala/Main.scala
+++ b/src/main/scala/Main.scala
@@ -9,7 +9,7 @@ import slick.codegen.SourceCodeGenerator
import slick.driver.JdbcProfile
trait TableFileGenerator { self: SourceCodeGenerator =>
- def writeTablesToFile(profile: String,
+ def writeTablesToFile(profile: Option[String],
folder: String,
pkg: String,
fileName: String): Unit
@@ -22,19 +22,19 @@ trait RowFileGenerator { self: SourceCodeGenerator =>
object Generator {
private def outputSchemaCode(schemaName: String,
- profile: String,
+ profile: Option[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,
+ tableGen.writeTablesToFile(profile = profile,
+ folder = folder,
+ pkg = pkg,
fileName = s"${camelSchemaName}Tables.scala")
- rowGen.writeRowsToFile(folder: String,
- pkg: String,
+ rowGen.writeRowsToFile(folder = folder,
+ pkg = pkg,
fileName = s"${camelSchemaName}Rows.scala")
}
@@ -61,9 +61,10 @@ object Generator {
parsedSchemasOpt.getOrElse(Map.empty).foreach {
case (schemaName, tables) =>
- val profile =
- s"""slick.backend.DatabaseConfig.forConfig[slick.driver.JdbcProfile]("${uri
- .getFragment()}").driver"""
+ val profile = Option.empty[String]
+ // TODO: retrieve profile later via configuration
+ // s"""slick.backend.DatabaseConfig.forConfig[slick.driver.JdbcProfile]("${uri
+ // .getFragment()}").driver"""
val schemaOnlyModel = Await.result(
dc.db.run(
diff --git a/src/main/scala/OutputHelpers.scala b/src/main/scala/OutputHelpers.scala
index 97fb4e9..e547700 100644
--- a/src/main/scala/OutputHelpers.scala
+++ b/src/main/scala/OutputHelpers.scala
@@ -7,22 +7,25 @@ trait TableOutputHelpers extends TableFileGenerator with OutputHelpers {
def schemaName: String
def imports: String
+ private def tableObject(profile: String) =
+ s"""|/** Stand-alone Slick data model for immediate use */
+ |// TODO: change this to `object tables`
+ |object tables extends {
+ | val profile = $profile
+ |} with Tables""".stripMargin
+
def packageTableCode(headerComment: String,
pkg: String,
schemaName: String,
imports: String,
- profile: String): String =
+ profile: Option[String]): String =
s"""|${headerComment.trim().lines.map("// " + _).mkString("\n")}
|package $pkg
|package $schemaName
|
|$imports
|
- |/** Stand-alone Slick data model for immediate use */
- |// TODO: change this to `object tables`
- |object `package` extends {
- | val profile = $profile
- |} with Tables
+ |${profile.fold("")(tableObject)}
|
|/** 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 " + _)} {
@@ -31,7 +34,7 @@ trait TableOutputHelpers extends TableFileGenerator with OutputHelpers {
|}
|""".stripMargin.trim()
- def writeTablesToFile(profile: String,
+ def writeTablesToFile(profile: Option[String],
folder: String,
pkg: String,
fileName: String): Unit = {