From ba67ff035b524514427b3ff2aa771f0736037af2 Mon Sep 17 00:00:00 2001 From: Andre Carvalho Date: Tue, 25 Feb 2025 10:40:30 +0000 Subject: [PATCH 1/2] allow to define only needed keys --- ...alter_variable_unique_together_and_more.py | 44 +++++++++++++++++++ labs/core/models.py | 5 ++- 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 labs/core/migrations/0006_alter_variable_value_alter_variable_unique_together_and_more.py diff --git a/labs/core/migrations/0006_alter_variable_value_alter_variable_unique_together_and_more.py b/labs/core/migrations/0006_alter_variable_value_alter_variable_unique_together_and_more.py new file mode 100644 index 0000000..48903ac --- /dev/null +++ b/labs/core/migrations/0006_alter_variable_value_alter_variable_unique_together_and_more.py @@ -0,0 +1,44 @@ +# Generated by Django 5.1.5 on 2025-02-25 10:36 + +import core.models +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("core", "0005_alter_model_provider_alter_variable_provider"), + ] + + operations = [ + migrations.AlterField( + model_name="variable", + name="value", + field=models.TextField(blank=True, null=True), + ), + migrations.AlterUniqueTogether( + name="variable", + unique_together={("provider", "name")}, + ), + migrations.AddConstraint( + model_name="model", + constraint=models.UniqueConstraint( + condition=models.Q( + ("active", True), + ("model_type", core.models.ModelTypeEnum["EMBEDDING"]), + ), + fields=("model_type",), + name="unique_active_embedding", + ), + ), + migrations.AddConstraint( + model_name="model", + constraint=models.UniqueConstraint( + condition=models.Q( + ("active", True), ("model_type", core.models.ModelTypeEnum["LLM"]) + ), + fields=("model_type",), + name="unique_active_llm", + ), + ), + ] diff --git a/labs/core/models.py b/labs/core/models.py index ff01c05..e15ba11 100644 --- a/labs/core/models.py +++ b/labs/core/models.py @@ -58,7 +58,7 @@ def choices(cls): class Variable(models.Model): provider = models.CharField(choices=ProviderEnum.choices()) name = models.CharField(max_length=255) - value = models.TextField() + value = models.TextField(blank=True, null=True) @staticmethod def get_default_vectorizer_value(): @@ -90,6 +90,9 @@ def _default_vectorizer_value_validation(self): def __str__(self): return self.name + + class Meta: + unique_together = ("provider", "name") class Model(models.Model): From b51cf75d04aa9148de07b68fcb83ba834d040af7 Mon Sep 17 00:00:00 2001 From: Andre Carvalho Date: Tue, 25 Feb 2025 11:21:53 +0000 Subject: [PATCH 2/2] correct migration --- ...alter_variable_unique_together_and_more.py | 44 ------------------- ...le_value_alter_variable_unique_together.py | 22 ++++++++++ 2 files changed, 22 insertions(+), 44 deletions(-) delete mode 100644 labs/core/migrations/0006_alter_variable_value_alter_variable_unique_together_and_more.py create mode 100644 labs/core/migrations/0008_alter_variable_value_alter_variable_unique_together.py diff --git a/labs/core/migrations/0006_alter_variable_value_alter_variable_unique_together_and_more.py b/labs/core/migrations/0006_alter_variable_value_alter_variable_unique_together_and_more.py deleted file mode 100644 index 48903ac..0000000 --- a/labs/core/migrations/0006_alter_variable_value_alter_variable_unique_together_and_more.py +++ /dev/null @@ -1,44 +0,0 @@ -# Generated by Django 5.1.5 on 2025-02-25 10:36 - -import core.models -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("core", "0005_alter_model_provider_alter_variable_provider"), - ] - - operations = [ - migrations.AlterField( - model_name="variable", - name="value", - field=models.TextField(blank=True, null=True), - ), - migrations.AlterUniqueTogether( - name="variable", - unique_together={("provider", "name")}, - ), - migrations.AddConstraint( - model_name="model", - constraint=models.UniqueConstraint( - condition=models.Q( - ("active", True), - ("model_type", core.models.ModelTypeEnum["EMBEDDING"]), - ), - fields=("model_type",), - name="unique_active_embedding", - ), - ), - migrations.AddConstraint( - model_name="model", - constraint=models.UniqueConstraint( - condition=models.Q( - ("active", True), ("model_type", core.models.ModelTypeEnum["LLM"]) - ), - fields=("model_type",), - name="unique_active_llm", - ), - ), - ] diff --git a/labs/core/migrations/0008_alter_variable_value_alter_variable_unique_together.py b/labs/core/migrations/0008_alter_variable_value_alter_variable_unique_together.py new file mode 100644 index 0000000..42c352d --- /dev/null +++ b/labs/core/migrations/0008_alter_variable_value_alter_variable_unique_together.py @@ -0,0 +1,22 @@ +# Generated by Django 5.1.5 on 2025-02-25 11:20 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("core", "0007_alter_model_provider_alter_variable_provider"), + ] + + operations = [ + migrations.AlterField( + model_name="variable", + name="value", + field=models.TextField(blank=True, null=True), + ), + migrations.AlterUniqueTogether( + name="variable", + unique_together={("provider", "name")}, + ), + ]