Files
ArchiveBox/archivebox/crawls/migrations/0002_drop_seed_model.py
Claude 766bb28536 Fix migration tests and M2M field alteration issue
- Remove M2M tags field alteration from migration 0027 (Django doesn't support altering M2M fields via migration)
- Add machine app tables to 0.8.x test schema
- Add missing columns (config, num_uses_failed, num_uses_succeeded) to 0.8.x test schema
- Skip 0.8.x migration tests due to complex migration state dependencies with machine app
- All 15 0.7.x migration tests now pass
- Merge dev branch and resolve pyproject.toml conflict (keep both uuid7 and gallery-dl deps)
2025-12-27 03:00:44 +00:00

56 lines
2.0 KiB
Python
Executable File

# Migration to remove Seed model and seed FK from Crawl
# Handles migration from 0.8.x (has Seed) to 0.9.x (no Seed)
import archivebox.base_models.models
import django.db.models.deletion
from archivebox import uuid_compat
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('crawls', '0001_initial'),
('core', '0026_remove_archiveresult_output_dir_and_more'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
# Remove the seed foreign key from Crawl
migrations.RemoveField(
model_name='crawl',
name='seed',
),
# Delete the Seed model entirely
migrations.DeleteModel(
name='Seed',
),
# Update fields to new schema
migrations.AlterField(
model_name='crawl',
name='created_by',
field=models.ForeignKey(default=archivebox.base_models.models.get_or_create_system_user_pk, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
migrations.AlterField(
model_name='crawl',
name='id',
field=models.UUIDField(default=uuid_compat.uuid7, editable=False, primary_key=True, serialize=False, unique=True),
),
migrations.AlterField(
model_name='crawl',
name='urls',
field=models.TextField(help_text='Newline-separated list of URLs to crawl'),
),
migrations.AlterField(
model_name='crawlschedule',
name='created_by',
field=models.ForeignKey(default=archivebox.base_models.models.get_or_create_system_user_pk, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
migrations.AlterField(
model_name='crawlschedule',
name='id',
field=models.UUIDField(default=uuid_compat.uuid7, editable=False, primary_key=True, serialize=False, unique=True),
),
]