diff options
author | Stewart Stewart <stewinsalot@gmail.com> | 2017-05-08 16:35:57 -0400 |
---|---|---|
committer | Stewart Stewart <stewinsalot@gmail.com> | 2017-05-08 16:38:30 -0400 |
commit | a20127d674bb88af2cebdefe4de7b116d780a383 (patch) | |
tree | f4aa8aa86f8273f5b19a922a4baa77966e9452ce | |
parent | 2dfb2c893af3be9100af229d229087700f7c2862 (diff) | |
download | slick-codegen-plugin-a20127d674bb88af2cebdefe4de7b116d780a383.tar.gz slick-codegen-plugin-a20127d674bb88af2cebdefe4de7b116d780a383.tar.bz2 slick-codegen-plugin-a20127d674bb88af2cebdefe4de7b116d780a383.zip |
add statements for creating/dropping schema namespaces
-rw-r--r-- | src/main/scala/Generators.scala | 24 |
1 files changed, 20 insertions, 4 deletions
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() { |