cleanup in the federica area
[sfa.git] / sfa / storage / migrations / versions / 001_slice_researchers.py
diff --git a/sfa/storage/migrations/versions/001_slice_researchers.py b/sfa/storage/migrations/versions/001_slice_researchers.py
new file mode 100644 (file)
index 0000000..eb1d3b7
--- /dev/null
@@ -0,0 +1,28 @@
+# this move is about adding a slice x users many to many relation ship for modelling 
+# regular "membership" of users in a slice
+
+from sqlalchemy import Table, MetaData, Column, ForeignKey
+from sqlalchemy import Integer, String
+
+metadata=MetaData()
+
+# this is needed my migrate so it can locate 'records.record_id'
+records = \
+    Table ( 'records', metadata,
+            Column ('record_id', Integer, primary_key=True),
+            )
+
+# slice x user (researchers) association
+slice_researcher_table = \
+    Table ( 'slice_researcher', metadata,
+            Column ('slice_id', Integer, ForeignKey ('records.record_id'), primary_key=True),
+            Column ('researcher_id', Integer, ForeignKey ('records.record_id'), primary_key=True),
+            )
+
+def upgrade(migrate_engine):
+    metadata.bind = migrate_engine
+    slice_researcher_table.create()
+
+def downgrade(migrate_engine):
+    metadata.bind = migrate_engine
+    slice_researcher_table.drop()