From cd8005c3572a8be268cfd600ec05806616d0f3e2 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 31 Dec 2025 21:40:12 +0000 Subject: [PATCH] Fix migration issues and update tests for new schema - Fix uuid.uuid7 -> uuid_compat.uuid7 in migration 0027 - Fix migration 0025 dependency: machine.0005 -> machine.0001 - Update test_list_after_add to use 'snapshot list' (list cmd removed) - Update test to expect 'hook_name' instead of 'extractor' column --- archivebox/core/migrations/0025_cleanup_schema.py | 2 +- ...chiveresult_hook_name_alter_archiveresult_id_and_more.py | 6 +++--- archivebox/tests/test_migrations_fresh.py | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/archivebox/core/migrations/0025_cleanup_schema.py b/archivebox/core/migrations/0025_cleanup_schema.py index 4ab000c4..0753b453 100644 --- a/archivebox/core/migrations/0025_cleanup_schema.py +++ b/archivebox/core/migrations/0025_cleanup_schema.py @@ -190,7 +190,7 @@ class Migration(migrations.Migration): dependencies = [ ('core', '0024_assign_default_crawl'), - ('machine', '0005_add_process_table'), + ('machine', '0001_initial'), ('crawls', '0002_upgrade_to_0_9_0'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] diff --git a/archivebox/core/migrations/0027_alter_archiveresult_hook_name_alter_archiveresult_id_and_more.py b/archivebox/core/migrations/0027_alter_archiveresult_hook_name_alter_archiveresult_id_and_more.py index 4f4ed92b..e084fc8e 100644 --- a/archivebox/core/migrations/0027_alter_archiveresult_hook_name_alter_archiveresult_id_and_more.py +++ b/archivebox/core/migrations/0027_alter_archiveresult_hook_name_alter_archiveresult_id_and_more.py @@ -2,7 +2,7 @@ import django.db.models.deletion import django.utils.timezone -import uuid +from archivebox import uuid_compat from django.db import migrations, models @@ -73,7 +73,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='archiveresult', name='uuid', - field=models.UUIDField(blank=True, db_index=True, default=uuid.uuid7, null=True), + field=models.UUIDField(blank=True, db_index=True, default=uuid_compat.uuid7, null=True), ), migrations.AlterField( model_name='snapshot', @@ -98,7 +98,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='snapshot', name='id', - field=models.UUIDField(default=uuid.uuid7, editable=False, primary_key=True, serialize=False, unique=True), + field=models.UUIDField(default=uuid_compat.uuid7, editable=False, primary_key=True, serialize=False, unique=True), ), migrations.AlterField( model_name='snapshottag', diff --git a/archivebox/tests/test_migrations_fresh.py b/archivebox/tests/test_migrations_fresh.py index 0d8ec166..d6f56333 100644 --- a/archivebox/tests/test_migrations_fresh.py +++ b/archivebox/tests/test_migrations_fresh.py @@ -88,7 +88,7 @@ class TestFreshInstall(unittest.TestCase): result = run_archivebox(work_dir, ['add', '--index-only', 'https://example.com']) self.assertEqual(result.returncode, 0, f"Add failed: {result.stderr}") - result = run_archivebox(work_dir, ['list']) + result = run_archivebox(work_dir, ['snapshot', 'list']) self.assertEqual(result.returncode, 0, f"List failed: {result.stderr}") # Verify the URL appears in output @@ -176,7 +176,7 @@ class TestSchemaIntegrity(unittest.TestCase): columns = {row[1] for row in cursor.fetchall()} conn.close() - required = {'id', 'snapshot_id', 'extractor', 'status', 'created_at', 'modified_at'} + required = {'id', 'snapshot_id', 'hook_name', 'status', 'created_at', 'modified_at'} for col in required: self.assertIn(col, columns, f"Missing column: {col}")