mirror of
https://github.com/meeb/tubesync.git
synced 2025-06-24 05:56:37 +00:00
Merge pull request #992 from tcely/patch-2
Some checks are pending
CI / info (push) Waiting to run
CI / test (3.10) (push) Waiting to run
CI / test (3.11) (push) Waiting to run
CI / test (3.12) (push) Waiting to run
CI / test (3.8) (push) Waiting to run
CI / test (3.9) (push) Waiting to run
CI / containerise (push) Blocked by required conditions
Some checks are pending
CI / info (push) Waiting to run
CI / test (3.10) (push) Waiting to run
CI / test (3.11) (push) Waiting to run
CI / test (3.12) (push) Waiting to run
CI / test (3.8) (push) Waiting to run
CI / test (3.9) (push) Waiting to run
CI / containerise (push) Blocked by required conditions
Use the actual model for data migration
This commit is contained in:
commit
01dee636d6
@ -2,16 +2,17 @@
|
|||||||
|
|
||||||
from django.db import migrations
|
from django.db import migrations
|
||||||
from common.utils import django_queryset_generator as qs_gen
|
from common.utils import django_queryset_generator as qs_gen
|
||||||
|
from sync.models import Media
|
||||||
|
|
||||||
|
|
||||||
def use_tables(apps, schema_editor):
|
def use_tables(apps, schema_editor):
|
||||||
Media = apps.get_model('sync', 'Media')
|
#Media = apps.get_model('sync', 'Media')
|
||||||
qs = Media.objects.filter(metadata__isnull=False)
|
qs = Media.objects.filter(metadata__isnull=False)
|
||||||
for media in qs_gen(qs):
|
for media in qs_gen(qs):
|
||||||
media.save_to_metadata('migrated', True)
|
media.save_to_metadata('migrated', True)
|
||||||
|
|
||||||
def restore_metadata_column(apps, schema_editor):
|
def restore_metadata_column(apps, schema_editor):
|
||||||
Media = apps.get_model('sync', 'Media')
|
#Media = apps.get_model('sync', 'Media')
|
||||||
qs = Media.objects.filter(metadata__isnull=False)
|
qs = Media.objects.filter(metadata__isnull=False)
|
||||||
for media in qs_gen(qs):
|
for media in qs_gen(qs):
|
||||||
metadata = media.loaded_metadata
|
metadata = media.loaded_metadata
|
||||||
|
@ -1144,13 +1144,13 @@ class Media(models.Model):
|
|||||||
|
|
||||||
def save_to_metadata(self, key, value, /):
|
def save_to_metadata(self, key, value, /):
|
||||||
data = self.loaded_metadata
|
data = self.loaded_metadata
|
||||||
data[key] = value
|
|
||||||
self.ingest_metadata(data)
|
|
||||||
using_new_metadata = self.get_metadata_first_value(
|
using_new_metadata = self.get_metadata_first_value(
|
||||||
('migrated', '_using_table',),
|
('migrated', '_using_table',),
|
||||||
False,
|
False,
|
||||||
arg_dict=data,
|
arg_dict=data,
|
||||||
)
|
)
|
||||||
|
data[key] = value
|
||||||
|
self.ingest_metadata(data)
|
||||||
if not using_new_metadata:
|
if not using_new_metadata:
|
||||||
epoch = self.get_metadata_first_value('epoch', arg_dict=data)
|
epoch = self.get_metadata_first_value('epoch', arg_dict=data)
|
||||||
migrated = dict(migrated=True, epoch=epoch)
|
migrated = dict(migrated=True, epoch=epoch)
|
||||||
@ -1851,12 +1851,14 @@ class Metadata(models.Model):
|
|||||||
|
|
||||||
@atomic(durable=False)
|
@atomic(durable=False)
|
||||||
def ingest_formats(self, formats=list(), /):
|
def ingest_formats(self, formats=list(), /):
|
||||||
|
number = 0
|
||||||
for number, format in enumerate(formats, start=1):
|
for number, format in enumerate(formats, start=1):
|
||||||
mdf, created = self.format.get_or_create(site=self.site, key=self.key, number=number)
|
mdf, created = self.format.get_or_create(site=self.site, key=self.key, number=number)
|
||||||
mdf.value = format
|
mdf.value = format
|
||||||
mdf.save()
|
mdf.save()
|
||||||
# delete any numbers we did not overwrite or create
|
if number > 0:
|
||||||
self.format.filter(site=self.site, key=self.key, number__gt=number).delete()
|
# delete any numbers we did not overwrite or create
|
||||||
|
self.format.filter(site=self.site, key=self.key, number__gt=number).delete()
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def with_formats(self):
|
def with_formats(self):
|
||||||
|
Loading…
Reference in New Issue
Block a user