base entity addons: entityTable()
authorTomas Zeman <tzeman@volny.cz>
Fri, 10 Feb 2012 09:53:04 +0100
changeset 7 8ef5e77ad79e
parent 6 98d9c92a726f
child 8 828565e7f571
base entity addons: entityTable()
src/main/scala/fis/base/model/BaseSchema.scala
--- a/src/main/scala/fis/base/model/BaseSchema.scala	Fri Feb 10 09:53:04 2012 +0100
+++ b/src/main/scala/fis/base/model/BaseSchema.scala	Fri Feb 10 09:53:04 2012 +0100
@@ -15,12 +15,19 @@
  */
 package fis.base.model
 
-import org.squeryl.Schema
+import org.squeryl.{Schema, Table}
 import net.liftweb.squerylrecord.RecordTypeMode._
 
 trait BaseSchema extends Schema {
-  val codeListItems = table[CodeListItem]
-  on(codeListItems) { t => declare(t.id.is(autoIncremented("entity_id_seq"))) }
+  val codeListItems = entityTable[CodeListItem]
+
+  protected def entityTable[T <: Entity[_]]()(implicit manifestT: Manifest[T]):
+    Table[T] = {
+
+    val tbl = table()
+    on(tbl) { t => declare(t.id.is(autoIncremented("entity_id_seq"))) }
+    tbl
+  }
 }
 
 object BaseSchema extends BaseSchema