From 6059895bdd1f0911fe194f04252401c13fc0ca31 Mon Sep 17 00:00:00 2001
From: Mattia Mancini <mancini@astron.nl>
Date: Wed, 10 Oct 2018 13:52:50 +0000
Subject: [PATCH] OSB-28: modified reference to table into JSON field

---
 .gitattributes                                |  1 -
 .../monitoringdb/models/component_error.py    |  7 +-
 .../monitoringdb/models/element_error.py      |  6 +-
 .../monitoringdb/models/error_details.py      | 73 -------------------
 4 files changed, 5 insertions(+), 82 deletions(-)
 delete mode 100644 LCU/Maintenance/DBInterface/monitoringdb/models/error_details.py

diff --git a/.gitattributes b/.gitattributes
index b75f708654f..07195975796 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1806,7 +1806,6 @@ LCU/Maintenance/DBInterface/monitoringdb/models/component.py -text
 LCU/Maintenance/DBInterface/monitoringdb/models/component_error.py -text
 LCU/Maintenance/DBInterface/monitoringdb/models/element.py -text
 LCU/Maintenance/DBInterface/monitoringdb/models/element_error.py -text
-LCU/Maintenance/DBInterface/monitoringdb/models/error_details.py -text
 LCU/Maintenance/DBInterface/monitoringdb/models/fixed_types.py -text
 LCU/Maintenance/DBInterface/monitoringdb/models/log.py -text
 LCU/Maintenance/DBInterface/monitoringdb/models/rtsm.py -text
diff --git a/LCU/Maintenance/DBInterface/monitoringdb/models/component_error.py b/LCU/Maintenance/DBInterface/monitoringdb/models/component_error.py
index ead4319aeed..9d62ef93337 100644
--- a/LCU/Maintenance/DBInterface/monitoringdb/models/component_error.py
+++ b/LCU/Maintenance/DBInterface/monitoringdb/models/component_error.py
@@ -1,7 +1,7 @@
 from django.db import models
 from .component import Component
 from .station_test import StationTest
-from .error_details import ErrorDetails
+from django.contrib.postgres.fields import JSONField
 
 
 class ComponentError(models.Model):
@@ -9,7 +9,4 @@ class ComponentError(models.Model):
     component = models.ForeignKey(Component, on_delete=models.DO_NOTHING)
     station_test = models.ForeignKey(StationTest, on_delete=models.DO_NOTHING,
                                      related_name='component_errors')
-    details = models.ForeignKey(ErrorDetails,
-                                on_delete=models.CASCADE,
-                                related_name='details',
-                                null=True)
\ No newline at end of file
+    details = JSONField()
\ No newline at end of file
diff --git a/LCU/Maintenance/DBInterface/monitoringdb/models/element_error.py b/LCU/Maintenance/DBInterface/monitoringdb/models/element_error.py
index 5200e709481..1440852dc8e 100644
--- a/LCU/Maintenance/DBInterface/monitoringdb/models/element_error.py
+++ b/LCU/Maintenance/DBInterface/monitoringdb/models/element_error.py
@@ -1,7 +1,7 @@
 from django.db import models
 from .element import Element
-from .error_details import ErrorDetails
-from .station_test import StationTest
+from django.contrib.postgres.fields import JSONField
+
 from .component_error import ComponentError
 
 
@@ -12,4 +12,4 @@ class ElementError(models.Model):
                                         related_name='failing_elements')
 
     type = models.CharField(max_length=50)
-    details = models.ForeignKey(ErrorDetails, on_delete=models.CASCADE, related_name='element_error_details')
\ No newline at end of file
+    details = JSONField()
\ No newline at end of file
diff --git a/LCU/Maintenance/DBInterface/monitoringdb/models/error_details.py b/LCU/Maintenance/DBInterface/monitoringdb/models/error_details.py
deleted file mode 100644
index ed14ff246a8..00000000000
--- a/LCU/Maintenance/DBInterface/monitoringdb/models/error_details.py
+++ /dev/null
@@ -1,73 +0,0 @@
-from django.db import models
-
-
-class ErrorDetails(models.Model):
-    x = models.NullBooleanField()
-    y = models.NullBooleanField()
-
-    xval = models.FloatField(default=None, null=True)
-    yval = models.FloatField(default=None, null=True)
-
-    xoff = models.FloatField(default=None, null=True)
-    yoff = models.FloatField(default=None, null=True)
-
-    xval_no_delay = models.FloatField(default=None, null=True)
-    yval_no_delay = models.FloatField(default=None, null=True)
-
-    xsb_no_delay = models.FloatField(default=None, null=True)
-    ysb_no_delay = models.FloatField(default=None, null=True)
-
-    xref_no_delay = models.FloatField(default=None, null=True)
-    yref_no_delay = models.FloatField(default=None, null=True)
-
-    xref = models.FloatField(default=None, null=True)
-    yref = models.FloatField(default=None, null=True)
-
-    xsb_full_delay = models.FloatField(default=None, null=True)
-    ysb_full_delay = models.FloatField(default=None, null=True)
-
-    xref_full_delay = models.FloatField(default=None, null=True)
-    yref_full_delay = models.FloatField(default=None, null=True)
-
-    xval_full_delay = models.FloatField(default=None, null=True)
-    yval_full_delay = models.FloatField(default=None, null=True)
-
-    xlimit = models.FloatField(default=None, null=True)
-    ylimit = models.FloatField(default=None, null=True)
-
-    xproc = models.FloatField(default=None, null=True)
-    yproc = models.FloatField(default=None, null=True)
-
-    xdiff = models.FloatField(default=None, null=True)
-    ydiff = models.FloatField(default=None, null=True)
-
-    xmean = models.FloatField(default=None, null=True)
-    ymean = models.FloatField(default=None, null=True)
-
-    tp = models.CharField(max_length=10, null=True, default=None)
-    mp = models.CharField(max_length=10, null=True, default=None)
-    ap = models.CharField(max_length=10, null=True, default=None)
-    bp = models.CharField(max_length=10, null=True, default=None)
-
-    mp0 = models.CharField(max_length=10, null=True, default=None)
-    mp1 = models.CharField(max_length=10, null=True, default=None)
-    mp2 = models.CharField(max_length=10, null=True, default=None)
-    mp3 = models.CharField(max_length=10, null=True, default=None)
-
-    ap0 = models.CharField(max_length=10, null=True, default=None)
-    ap1 = models.CharField(max_length=10, null=True, default=None)
-    ap2 = models.CharField(max_length=10, null=True, default=None)
-    ap3 = models.CharField(max_length=10, null=True, default=None)
-
-    pcb = models.CharField(max_length=10, null=True, default=None)
-
-    rcu5_0v = models.FloatField(default=None, null=True)
-    lba8_0v = models.FloatField(default=None, null=True)
-    hba48v = models.FloatField(default=None, null=True)
-    spu3_3v = models.FloatField(default=None, null=True)
-
-    v1_2 = models.FloatField(default=None, null=True)
-    v2_5 = models.FloatField(default=None, null=True)
-    v3_3 = models.FloatField(default=None, null=True)
-
-    error_code = models.CharField(max_length=10, null=True, default=None)
\ No newline at end of file
-- 
GitLab