annot-server/models.py
changeset 43 e27c3c1c57f1
parent 42 926f0426ce78
child 78 37bb8e326446
--- a/annot-server/models.py	Sun Oct 19 12:52:38 2014 +0200
+++ b/annot-server/models.py	Mon Oct 20 01:31:33 2014 +0200
@@ -8,7 +8,8 @@
 import json
 import uuid
 
-from sqlalchemy import Column, Integer, String, DateTime, Text, Table, Index, text, ForeignKey
+from sqlalchemy import (Column, Integer, String, DateTime, Text, Table, Index,
+                        text, ForeignKey, Boolean)
 from sqlalchemy.orm import relationship, backref
 from sqlalchemy.sql import func
 from sqlalchemy.dialects.postgresql import UUID, JSON
@@ -58,6 +59,8 @@
     code = Column(String(255), unique=True, nullable=False)
     label = Column(String(2048), nullable=False)
     description = Column(Text(), nullable=True)
+    start_date = Column(DateTime(), nullable=True)
+    active = Column(Boolean(), nullable=False, default=True, server_default='1')
 
     sessions = relationship("EventSession", order_by="EventSession.order", backref="event")
 
@@ -65,6 +68,8 @@
         return self.code
 
 Index('idx_event_code', Event.code)
+Index('idx_event_active', Event.active)
+Index('idx_event_start_date', Event.start_date)
 
 class EventSession(Base):
     __tablename__ = 'event_session'
@@ -73,7 +78,10 @@
     event_id = Column(Integer, ForeignKey(Event.id), nullable=False)
     project_id = Column(String(2048), nullable=True)
     order = Column(Integer, nullable=False, default=0)
+    start_ts = Column(DateTime(timezone=True), nullable=True)
+    duration = Column(Integer, nullable=True)
     categories_json = Column(JSON, nullable=True)
 
 
 Index('idx_event_session_order', EventSession.order)
+Index('idx_event_session_start_ts', EventSession.start_ts)