From 87816d645252b6d7916eaacd0f940f196bbd255f Mon Sep 17 00:00:00 2001 From: Hannah Eslinger Date: Fri, 5 Jan 2024 14:09:56 -0700 Subject: [PATCH 1/3] Fix 4252 --- requirements/base.txt | 3 +++ seed/migrations/0211_auto_20240105_1306.py | 23 ++++++++++++++++++++++ seed/models/sensors.py | 9 ++++++--- 3 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 seed/migrations/0211_auto_20240105_1306.py diff --git a/requirements/base.txt b/requirements/base.txt index 1efc35f0d5..05a641f0b3 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -78,3 +78,6 @@ django-braces==1.14.0 django-oauth-toolkit==1.2.0 future==0.18.3 + +# db +django-timescaledb diff --git a/seed/migrations/0211_auto_20240105_1306.py b/seed/migrations/0211_auto_20240105_1306.py new file mode 100644 index 0000000000..c0667e2558 --- /dev/null +++ b/seed/migrations/0211_auto_20240105_1306.py @@ -0,0 +1,23 @@ +# Generated by Django 3.2.23 on 2024-01-05 21:06 + +import timescale.db.models.fields +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('seed', '0210_natural_sort'), + ] + + operations = [ + migrations.AlterField( + model_name='sensorreading', + name='timestamp', + field=timescale.db.models.fields.TimescaleDateTimeField(interval='1 second'), + ), + migrations.AlterUniqueTogether( + name='sensor', + unique_together={('data_logger', 'column_name'), ('data_logger', 'display_name')}, + ), + ] diff --git a/seed/models/sensors.py b/seed/models/sensors.py index e846dcd143..d671ac79dd 100644 --- a/seed/models/sensors.py +++ b/seed/models/sensors.py @@ -4,6 +4,7 @@ See also https://github.com/seed-platform/seed/main/LICENSE.md """ from django.db import models +from timescale.db.models.fields import TimescaleDateTimeField from seed.models import Property @@ -44,13 +45,15 @@ class Sensor(models.Model): column_name = models.CharField(max_length=255) class Meta: - unique_together = ('data_logger', 'display_name') - unique_together = ('data_logger', 'column_name') + unique_together = ( + ('data_logger', 'display_name'), + ('data_logger', 'column_name'), + ) class SensorReading(models.Model): reading = models.FloatField(null=True) - timestamp = models.DateTimeField() + timestamp = TimescaleDateTimeField(interval="1 second") sensor = models.ForeignKey( Sensor, on_delete=models.CASCADE, From ef28ae53899ef458a5c7b0f3bcdf5276f23deaaa Mon Sep 17 00:00:00 2001 From: Hannah Eslinger Date: Fri, 5 Jan 2024 17:06:28 -0700 Subject: [PATCH 2/3] Address comments --- seed/migrations/0211_auto_20240105_1306.py | 2 +- seed/models/sensors.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/seed/migrations/0211_auto_20240105_1306.py b/seed/migrations/0211_auto_20240105_1306.py index c0667e2558..44b3f8328e 100644 --- a/seed/migrations/0211_auto_20240105_1306.py +++ b/seed/migrations/0211_auto_20240105_1306.py @@ -14,7 +14,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='sensorreading', name='timestamp', - field=timescale.db.models.fields.TimescaleDateTimeField(interval='1 second'), + field=timescale.db.models.fields.TimescaleDateTimeField(interval='7 days'), ), migrations.AlterUniqueTogether( name='sensor', diff --git a/seed/models/sensors.py b/seed/models/sensors.py index d671ac79dd..0006582880 100644 --- a/seed/models/sensors.py +++ b/seed/models/sensors.py @@ -53,7 +53,7 @@ class Meta: class SensorReading(models.Model): reading = models.FloatField(null=True) - timestamp = TimescaleDateTimeField(interval="1 second") + timestamp = TimescaleDateTimeField(interval="7 days") sensor = models.ForeignKey( Sensor, on_delete=models.CASCADE, From 8f1ef3976cd3411dd8f270ce1b3ff3251bb39e8f Mon Sep 17 00:00:00 2001 From: Hannah Eslinger Date: Thu, 8 Feb 2024 12:45:07 -0700 Subject: [PATCH 3/3] Right migrations --- .../{0211_auto_20240105_1306.py => 0215_auto_20240105_1306.py} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename seed/migrations/{0211_auto_20240105_1306.py => 0215_auto_20240105_1306.py} (91%) diff --git a/seed/migrations/0211_auto_20240105_1306.py b/seed/migrations/0215_auto_20240105_1306.py similarity index 91% rename from seed/migrations/0211_auto_20240105_1306.py rename to seed/migrations/0215_auto_20240105_1306.py index 44b3f8328e..3ee60b296c 100644 --- a/seed/migrations/0211_auto_20240105_1306.py +++ b/seed/migrations/0215_auto_20240105_1306.py @@ -7,7 +7,7 @@ class Migration(migrations.Migration): dependencies = [ - ('seed', '0210_natural_sort'), + ('seed', '0214_delete_filtergroup_labels'), ] operations = [