From 49653139b80f9bad87e51aa0c8181fb48b64b15d Mon Sep 17 00:00:00 2001 From: Stewart Stewart Date: Tue, 21 Feb 2017 17:04:34 -0500 Subject: use separate trait --- src/main/scala/NamespacedCodegen.scala | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'src/main/scala/NamespacedCodegen.scala') diff --git a/src/main/scala/NamespacedCodegen.scala b/src/main/scala/NamespacedCodegen.scala index 5caa98d..095eefb 100644 --- a/src/main/scala/NamespacedCodegen.scala +++ b/src/main/scala/NamespacedCodegen.scala @@ -111,14 +111,22 @@ class Generator(pkg: String, pkg: String, container: String, parentType: Option[String]): String = { + val traitName = container.capitalize + "SchemaDef" s"""|package $pkg |$allImports - |object ${container} extends { + |// AUTO-GENERATED Slick data model + | + |/** Stand-alone Slick data model for immediate use */ + |object $container extends { | val profile = $profile - |} with ${parentType.getOrElse("AnyRef")} { + |} with $traitName + | + |/** Slick data model trait for extension, choice of backend or usage in the cake pattern. (Make sure to initialize this late.) */ + |trait $traitName${parentType.fold("")(" extends " + _)} { | import profile.api._ - | ${filteredCode} - |}""".stripMargin + | ${indent(filteredCode)} + |}""".stripMargin.trim() + // TODO: default to upstream packageCode after filteredCode is fixed } override def Table = new Table(_) { table => -- cgit v1.2.3