diff options
author | Stewart Stewart <stewinsalot@gmail.com> | 2016-11-21 19:33:09 -0500 |
---|---|---|
committer | Stewart Stewart <stewinsalot@gmail.com> | 2016-11-21 19:33:09 -0500 |
commit | 00688a208108506e062ad494fa88704b8caf15e2 (patch) | |
tree | bc551c878619dfa628c0855e38a92e3d6c74e4a4 /src/main/scala/NamespacedCodegen.scala | |
parent | 5b144625cf96ece11358ea9ee05c08ef8d1a1d74 (diff) | |
download | slick-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.scala | 9 |
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} |