diff --git a/borgweb/borg/migrations/0001_initial.py b/borgweb/borg/migrations/0001_initial.py index e806d93..7457bef 100644 --- a/borgweb/borg/migrations/0001_initial.py +++ b/borgweb/borg/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 3.2 on 2021-05-07 18:21 +# Generated by Django 3.2 on 2021-05-07 19:56 from django.db import migrations, models import django.db.models.deletion @@ -13,17 +13,15 @@ class Migration(migrations.Migration): operations = [ migrations.CreateModel( - name='Archive', + name='Cache', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('fingerprint', models.TextField()), - ('name', models.TextField()), - ('start', models.DateTimeField()), - ('end', models.DateTimeField()), - ('file_count', models.IntegerField()), - ('original_size', models.IntegerField()), - ('compressed_size', models.IntegerField()), - ('deduplicated_size', models.IntegerField()), + ('total_chunks', models.IntegerField()), + ('total_csize', models.IntegerField()), + ('total_size', models.IntegerField()), + ('total_unique_chunks', models.IntegerField()), + ('unique_csize', models.IntegerField()), + ('unique_size', models.IntegerField()), ], ), migrations.CreateModel( @@ -53,21 +51,19 @@ class Migration(migrations.Migration): ], ), migrations.CreateModel( - name='Cache', + name='Archive', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('total_chunks', models.IntegerField()), - ('total_csize', models.IntegerField()), - ('total_size', models.IntegerField()), - ('total_unique_chunks', models.IntegerField()), - ('unique_csize', models.IntegerField()), - ('unique_size', models.IntegerField()), - ('archive', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='borg.archive')), + ('fingerprint', models.TextField(unique=True)), + ('name', models.TextField()), + ('start', models.DateTimeField()), + ('end', models.DateTimeField()), + ('file_count', models.IntegerField()), + ('original_size', models.IntegerField()), + ('compressed_size', models.IntegerField()), + ('deduplicated_size', models.IntegerField()), + ('cache', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='borg.cache')), + ('repo', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='borg.repo')), ], ), - migrations.AddField( - model_name='archive', - name='repo', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='archives', to='borg.repo'), - ), ] diff --git a/borgweb/borg/models/__init__.py b/borgweb/borg/models/__init__.py index f598546..dcdd438 100644 --- a/borgweb/borg/models/__init__.py +++ b/borgweb/borg/models/__init__.py @@ -1,5 +1,5 @@ from .label import Label from .repo import Repo -from .archive import Archive from .cache import Cache +from .archive import Archive from .error import Error diff --git a/borgweb/borg/models/archive.py b/borgweb/borg/models/archive.py index 9399e0a..2fa5cb9 100644 --- a/borgweb/borg/models/archive.py +++ b/borgweb/borg/models/archive.py @@ -1,10 +1,10 @@ from django.db import models -from . import Repo +from . import Repo, Cache class Archive(models.Model): - fingerprint = models.TextField() - repo = models.ForeignKey(Repo, on_delete=models.CASCADE, related_name='archives') + fingerprint = models.TextField(unique=True) + repo = models.ForeignKey(Repo, on_delete=models.CASCADE) name = models.TextField() start = models.DateTimeField() end = models.DateTimeField() @@ -12,4 +12,5 @@ class Archive(models.Model): original_size = models.IntegerField() compressed_size = models.IntegerField() deduplicated_size = models.IntegerField() + cache = models.OneToOneField(Cache, on_delete=models.CASCADE) diff --git a/borgweb/borg/models/cache.py b/borgweb/borg/models/cache.py index 8f4f023..bc43830 100644 --- a/borgweb/borg/models/cache.py +++ b/borgweb/borg/models/cache.py @@ -1,9 +1,7 @@ from django.db import models -from . import Archive class Cache(models.Model): - archive = models.OneToOneField(Archive, on_delete=models.CASCADE) total_chunks = models.IntegerField() total_csize = models.IntegerField() total_size = models.IntegerField()