Recreate database using

This commit is contained in:
George Lacey 2021-05-07 18:33:30 +01:00
parent 70b636f28b
commit 3853f2ba2d
7 changed files with 22 additions and 51 deletions

View File

@ -1,4 +1,4 @@
# Generated by Django 3.2 on 2021-05-06 05:32
# Generated by Django 3.2 on 2021-05-07 18:21
from django.db import migrations, models
import django.db.models.deletion
@ -25,32 +25,23 @@ class Migration(migrations.Migration):
('compressed_size', models.IntegerField()),
('deduplicated_size', models.IntegerField()),
],
options={
'db_table': 'archive',
},
),
migrations.CreateModel(
name='Repo',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('fingerprint', models.TextField()),
('location', models.TextField()),
('last_modified', models.DateTimeField()),
],
options={
'db_table': 'repo',
},
),
migrations.CreateModel(
name='Label',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('label', models.TextField()),
('repo_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='borg.repo')),
('label', models.TextField(blank=True, unique=True)),
],
),
migrations.CreateModel(
name='Repo',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('fingerprint', models.TextField(unique=True)),
('location', models.TextField()),
('last_modified', models.DateTimeField()),
('label', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='borg.label')),
],
options={
'db_table': 'label',
},
),
migrations.CreateModel(
name='Error',
@ -58,11 +49,8 @@ class Migration(migrations.Migration):
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('error', models.TextField()),
('time', models.DateTimeField()),
('label_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='borg.label')),
('label', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='errors', to='borg.label')),
],
options={
'db_table': 'error',
},
),
migrations.CreateModel(
name='Cache',
@ -74,15 +62,12 @@ class Migration(migrations.Migration):
('total_unique_chunks', models.IntegerField()),
('unique_csize', models.IntegerField()),
('unique_size', models.IntegerField()),
('archive_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='borg.archive')),
('archive', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='borg.archive')),
],
options={
'db_table': 'cache',
},
),
migrations.AddField(
model_name='archive',
name='repo_id',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='borg.repo'),
name='repo',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='archives', to='borg.repo'),
),
]

View File

@ -1,5 +1,5 @@
from .label import Label
from .repo import Repo
from .archive import Archive
from .cache import Cache
from .label import Label
from .error import Error

View File

@ -13,5 +13,3 @@ class Archive(models.Model):
compressed_size = models.IntegerField()
deduplicated_size = models.IntegerField()
class Meta:
db_table = 'archive'

View File

@ -10,6 +10,3 @@ class Cache(models.Model):
total_unique_chunks = models.IntegerField()
unique_csize = models.IntegerField()
unique_size = models.IntegerField()
class Meta:
db_table = 'cache'

View File

@ -6,6 +6,3 @@ class Error(models.Model):
label = models.ForeignKey(Label, on_delete=models.CASCADE, related_name='errors')
error = models.TextField()
time = models.DateTimeField()
class Meta:
db_table = 'error'

View File

@ -1,13 +1,8 @@
from django.db import models
from . import Repo
class Label(models.Model):
repo = models.OneToOneField(Repo, on_delete=models.CASCADE)
label = models.TextField()
class Meta:
db_table = 'label'
label = models.TextField(blank=True, unique=True)
def __str__(self):
return self.label

View File

@ -2,15 +2,14 @@ from django.db import models
from datetime import datetime, timedelta
from ..utility.time import seconds_to_string
from ..utility.data import bytes_to_string
from . import Label
class Repo(models.Model):
fingerprint = models.TextField()
fingerprint = models.TextField(unique=True)
location = models.TextField()
last_modified = models.DateTimeField()
class Meta:
db_table = 'repo'
label = models.OneToOneField(Label, on_delete=models.CASCADE, unique=True)
def last_backup(self):
latest = self.latest_archive().start.replace(tzinfo=None)