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 common.utils import django_queryset_generator as qs_gen
|
||||
from sync.models import Media
|
||||
|
||||
|
||||
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)
|
||||
for media in qs_gen(qs):
|
||||
media.save_to_metadata('migrated', True)
|
||||
|
||||
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)
|
||||
for media in qs_gen(qs):
|
||||
metadata = media.loaded_metadata
|
||||
|
@ -1144,13 +1144,13 @@ class Media(models.Model):
|
||||
|
||||
def save_to_metadata(self, key, value, /):
|
||||
data = self.loaded_metadata
|
||||
data[key] = value
|
||||
self.ingest_metadata(data)
|
||||
using_new_metadata = self.get_metadata_first_value(
|
||||
('migrated', '_using_table',),
|
||||
False,
|
||||
arg_dict=data,
|
||||
)
|
||||
data[key] = value
|
||||
self.ingest_metadata(data)
|
||||
if not using_new_metadata:
|
||||
epoch = self.get_metadata_first_value('epoch', arg_dict=data)
|
||||
migrated = dict(migrated=True, epoch=epoch)
|
||||
@ -1851,10 +1851,12 @@ class Metadata(models.Model):
|
||||
|
||||
@atomic(durable=False)
|
||||
def ingest_formats(self, formats=list(), /):
|
||||
number = 0
|
||||
for number, format in enumerate(formats, start=1):
|
||||
mdf, created = self.format.get_or_create(site=self.site, key=self.key, number=number)
|
||||
mdf.value = format
|
||||
mdf.save()
|
||||
if number > 0:
|
||||
# delete any numbers we did not overwrite or create
|
||||
self.format.filter(site=self.site, key=self.key, number__gt=number).delete()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user