From a20127d674bb88af2cebdefe4de7b116d780a383 Mon Sep 17 00:00:00 2001 From: Stewart Stewart Date: Mon, 8 May 2017 16:35:57 -0400 Subject: add statements for creating/dropping schema namespaces --- src/main/scala/Generators.scala | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/main/scala/Generators.scala b/src/main/scala/Generators.scala index 7138a3c..92a3ab1 100644 --- a/src/main/scala/Generators.scala +++ b/src/main/scala/Generators.scala @@ -63,10 +63,26 @@ class TableSourceCodeGenerator( |} |""".stripMargin - override def code = super.code.lines.drop(1).mkString("\n") - // Drops needless import: `"import slick.model.ForeignKeyAction\n"`. - // Alias to ForeignKeyAction is in profile.api - // TODO: fix upstream + override def code = { + // Drops needless import: `"import slick.model.ForeignKeyAction\n"`. + // Alias to ForeignKeyAction is in profile.api + // TODO: fix upstream + val tableCode = super.code.lines.drop(1).mkString + + val tripleQuote = "\"\"\"" + val schemaCode = + s"""|val createSchemaNameSpace = { + | implicit val GRUnit = slick.jdbc.GetResult(_ => ()) + | sql${tripleQuote}CREATE SCHEMA IF NOT EXISTS "$schemaName";${tripleQuote}.as[Unit] + |} + | + |val dropSchemaNameSpace = { + | implicit val GRUnit = slick.jdbc.GetResult(_ => ()) + | sql${tripleQuote}DROP SCHEMA "$schemaName" CASCADE;${tripleQuote}.as[Unit] + |} """ + + tableCode + "\n\n" + schemaCode + } override def Table = new this.TypedIdTable(_) { table => override def TableClass = new TableClass() { -- cgit v1.2.3