wagtail / wagtail-vector-index

Store Wagtail pages & Django models as embeddings in vector databases
https://wagtail-vector-index.readthedocs.io/en/latest/
MIT License
15 stars 10 forks source link

Prevent spurious migrations that change auto field #32

Closed mgax closed 8 months ago

mgax commented 8 months ago

If a Django project defines DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField" (which is the recommended configuration for new projects), it's going to generate two migrations for wagtail_vector_index and wagtail_vector_index.backends.pgvector (see below). By setting AppConfig.default_auto_field we prevent this.

diff --git a/src/wagtail_vector_index/backends/pgvector/migrations/0003_alter_pgvectorembedding_id.py b/src/wagtail_vector_index/backends/pgvector/migrations/0003_alter_pgvectorembedding_id.py
new file mode 100644
index 0000000..6bebc7a
--- /dev/null
+++ b/src/wagtail_vector_index/backends/pgvector/migrations/0003_alter_pgvectorembedding_id.py
@@ -0,0 +1,20 @@
+# Generated by Django 4.2.9 on 2024-01-08 14:18
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ("pgvector", "0002_initial"),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name="pgvectorembedding",
+            name="id",
+            field=models.BigAutoField(
+                auto_created=True, primary_key=True, serialize=False
+            ),
+        ),
+    ]
diff --git a/src/wagtail_vector_index/migrations/0002_alter_embedding_id.py b/src/wagtail_vector_index/migrations/0002_alter_embedding_id.py
new file mode 100644
index 0000000..d2ca7f9
--- /dev/null
+++ b/src/wagtail_vector_index/migrations/0002_alter_embedding_id.py
@@ -0,0 +1,20 @@
+# Generated by Django 4.2.9 on 2024-01-08 14:18
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ("wagtail_vector_index", "0001_initial"),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name="embedding",
+            name="id",
+            field=models.BigAutoField(
+                auto_created=True, primary_key=True, serialize=False
+            ),
+        ),
+    ]
tm-kn commented 8 months ago

Thanks a lot!