diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-01-09 14:58:08 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-01-09 14:58:08 +0100 |
commit | 042861251b5615c5c89740b82e45862c8fcde088 (patch) | |
tree | f68914a98937e74fa55db08dccea25671b11900b | |
parent | 1aa58f90a149d7de7813dcf45fe8c1fb04a63143 (diff) | |
download | Ishtar-042861251b5615c5c89740b82e45862c8fcde088.tar.bz2 Ishtar-042861251b5615c5c89740b82e45862c8fcde088.zip |
Fix finds migrations (error on views)
-rw-r--r-- | archaeological_finds/migrations/0075_auto__chg_field_find_container__chg_field_find_upstream_treatment__chg.py | 19 | ||||
-rw-r--r-- | archaeological_finds/models_treatments.py | 17 |
2 files changed, 32 insertions, 4 deletions
diff --git a/archaeological_finds/migrations/0075_auto__chg_field_find_container__chg_field_find_upstream_treatment__chg.py b/archaeological_finds/migrations/0075_auto__chg_field_find_container__chg_field_find_upstream_treatment__chg.py index 61b85da41..600f7ca74 100644 --- a/archaeological_finds/migrations/0075_auto__chg_field_find_container__chg_field_find_upstream_treatment__chg.py +++ b/archaeological_finds/migrations/0075_auto__chg_field_find_container__chg_field_find_upstream_treatment__chg.py @@ -3,12 +3,17 @@ import datetime from south.db import db from south.v2 import SchemaMigration from django.db import models +from archaeological_finds.models_treatments import FindTreatments, \ + FindDownstreamTreatments, FindUpstreamTreatments class Migration(SchemaMigration): def forwards(self, orm): - + sql = FindTreatments.DELETE_SQL + sql += FindUpstreamTreatments.DELETE_SQL + sql += FindDownstreamTreatments.DELETE_SQL + db.execute(sql) # Changing field 'Find.container' db.alter_column('archaeological_finds_find', 'container_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, on_delete=models.SET_NULL, to=orm['archaeological_warehouse.Container'])) @@ -23,8 +28,16 @@ class Migration(SchemaMigration): # Changing field 'Find.collection' db.alter_column('archaeological_finds_find', 'collection_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, on_delete=models.SET_NULL, to=orm['archaeological_warehouse.Collection'])) + sql = FindUpstreamTreatments.CREATE_SQL + sql += FindDownstreamTreatments.CREATE_SQL + sql += FindTreatments.CREATE_SQL + db.execute(sql) def backwards(self, orm): + sql = FindTreatments.DELETE_SQL + sql += FindUpstreamTreatments.DELETE_SQL + sql += FindDownstreamTreatments.DELETE_SQL + db.execute(sql) # Changing field 'Find.container' db.alter_column('archaeological_finds_find', 'container_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, to=orm['archaeological_warehouse.Container'])) @@ -40,6 +53,10 @@ class Migration(SchemaMigration): # Changing field 'Find.collection' db.alter_column('archaeological_finds_find', 'collection_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, to=orm['archaeological_warehouse.Collection'])) + sql = FindUpstreamTreatments.CREATE_SQL + sql += FindDownstreamTreatments.CREATE_SQL + sql += FindTreatments.CREATE_SQL + db.execute(sql) models = { 'archaeological_context_records.activitytype': { diff --git a/archaeological_finds/models_treatments.py b/archaeological_finds/models_treatments.py index 5e763085c..8fcda37c0 100644 --- a/archaeological_finds/models_treatments.py +++ b/archaeological_finds/models_treatments.py @@ -285,7 +285,7 @@ class AbsFindTreatments(models.Model): class FindUpstreamTreatments(AbsFindTreatments): - """ + CREATE_SQL = """ CREATE VIEW find_uptreatments_tree AS WITH RECURSIVE rel_tree AS ( SELECT id AS find_id, upstream_treatment_id, downstream_treatment_id, @@ -316,6 +316,10 @@ class FindUpstreamTreatments(AbsFindTreatments): CREATE RULE find_uptreatments_del AS ON DELETE TO find_uptreatments DO INSTEAD DELETE FROM archaeological_finds_find where id=NULL; """ + DELETE_SQL = """ + DROP VIEW find_uptreatments; + DROP VIEW find_uptreatments_tree; + """ TABLE_COLS = ['treatment__treatment_type', 'treatment__upstream', 'treatment__start_date', 'treatment__end_date', @@ -333,7 +337,7 @@ class FindUpstreamTreatments(AbsFindTreatments): class FindDownstreamTreatments(AbsFindTreatments): - """ + CREATE_SQL = """ CREATE VIEW find_downtreatments_tree AS WITH RECURSIVE rel_tree AS ( SELECT id AS find_id, downstream_treatment_id, upstream_treatment_id, @@ -364,6 +368,10 @@ class FindDownstreamTreatments(AbsFindTreatments): CREATE RULE find_downtreatments_del AS ON DELETE TO find_downtreatments DO INSTEAD DELETE FROM archaeological_finds_find where id=NULL; """ + DELETE_SQL = """ + DROP VIEW find_downtreatments; + DROP VIEW find_downtreatments_tree; + """ TABLE_COLS = ['treatment__treatment_type', 'treatment__downstream', 'treatment__start_date', 'treatment__end_date', @@ -381,7 +389,7 @@ class FindDownstreamTreatments(AbsFindTreatments): class FindTreatments(AbsFindTreatments): - """ + CREATE_SQL = """ CREATE VIEW find_treatments AS SELECT find_id, treatment_id, treatment_nb, TRUE as upstream FROM find_uptreatments @@ -394,6 +402,9 @@ class FindTreatments(AbsFindTreatments): CREATE RULE find_treatments_del AS ON DELETE TO find_treatments DO INSTEAD DELETE FROM archaeological_finds_find where id=NULL; """ + DELETE_SQL = """ + DROP VIEW find_treatments; + """ upstream = models.BooleanField(_(u"Is upstream")) class Meta: |