aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/NamespacedCodegen.scala
diff options
context:
space:
mode:
authorStewart Stewart <stewinsalot@gmail.com>2016-11-21 19:33:09 -0500
committerStewart Stewart <stewinsalot@gmail.com>2016-11-21 19:33:09 -0500
commit00688a208108506e062ad494fa88704b8caf15e2 (patch)
treebc551c878619dfa628c0855e38a92e3d6c74e4a4 /src/main/scala/NamespacedCodegen.scala
parent5b144625cf96ece11358ea9ee05c08ef8d1a1d74 (diff)
downloadslick-codegen-plugin-00688a208108506e062ad494fa88704b8caf15e2.tar.gz
slick-codegen-plugin-00688a208108506e062ad494fa88704b8caf15e2.tar.bz2
slick-codegen-plugin-00688a208108506e062ad494fa88704b8caf15e2.zip
add parameter for schema super class
Diffstat (limited to 'src/main/scala/NamespacedCodegen.scala')
-rw-r--r--src/main/scala/NamespacedCodegen.scala9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/main/scala/NamespacedCodegen.scala b/src/main/scala/NamespacedCodegen.scala
index beed852..41905f0 100644
--- a/src/main/scala/NamespacedCodegen.scala
+++ b/src/main/scala/NamespacedCodegen.scala
@@ -16,12 +16,12 @@ import slick.model.{Column, Model, Table}
object Generator {
- def run(uri: URI, pkg: String, schemaNames: Option[List[String]], outputPath: String, manualForeignKeys: Map[(String, String), (String, String)]) = {
+ def run(uri: URI, pkg: String, schemaNames: Option[List[String]], outputPath: String, manualForeignKeys: Map[(String, String), (String, String)], schemaBaseClass: String) = {
val dc: DatabaseConfig[JdbcProfile] = DatabaseConfig.forURI[JdbcProfile](uri)
val parsedSchemasOpt: Option[Map[String, List[String]]] = schemaNames.map(SchemaParser.parse)
val dbModel: Model = Await.result(dc.db.run(SchemaParser.createModel(dc.driver, parsedSchemasOpt)), Duration.Inf)
- val generator = new Generator(uri, pkg, dbModel, outputPath, manualForeignKeys)
+ val generator = new Generator(uri, pkg, dbModel, outputPath, manualForeignKeys, schemaBaseClass)
val generatedCode = generator.code
parsedSchemasOpt.getOrElse(Map()).keys.map(schemaName => FileHelpers.schemaOutputPath(outputPath, schemaName))
}
@@ -43,7 +43,6 @@ class ImportGenerator(dbModel: Model) extends SourceCodeGenerator(dbModel) {
val baseImports: String =
s"""
|import xyz.driver.core._
- |import xyz.driver.core.database._
|
|""".stripMargin
@@ -68,7 +67,7 @@ class ImportGenerator(dbModel: Model) extends SourceCodeGenerator(dbModel) {
override def code: String = baseImports + hlistImports + plainSqlMapperImports
}
-class Generator(uri: URI, pkg: String, dbModel: Model, outputPath: String, manualForeignKeys: Map[(String, String), (String, String)]) extends SourceCodeGenerator(dbModel) with OutputHelpers {
+class Generator(uri: URI, pkg: String, dbModel: Model, outputPath: String, manualForeignKeys: Map[(String, String), (String, String)], schemaBaseClass: String) extends SourceCodeGenerator(dbModel) with OutputHelpers {
val packageName = new PackageNameGenerator(pkg, dbModel).code
val allImports: String = new ImportGenerator(dbModel).code
@@ -84,7 +83,7 @@ class Generator(uri: URI, pkg: String, dbModel: Model, outputPath: String, manua
case (schemaName, tableDefs) =>
val tableCode = tableDefs.sortBy(_.model.name.table).map(_.code.mkString("\n")) .mkString("\n\n")
val generatedSchema = s"""
- |object ${schemaName} extends IdColumnTypes {
+ |object ${schemaName} extends $schemaBaseClass {
| override val database = xyz.driver.core.database.Database.fromConfig("${uri.getFragment()}")
| import database.profile.api._
| ${tableCode}