preserve created_time in migration
This commit is contained in:
parent
694a312711
commit
72347011b4
2 changed files with 18 additions and 11 deletions
|
@ -23,8 +23,8 @@ class Piece(PolymorphicModel, UserOwnedObjectMixin):
|
||||||
uid = models.UUIDField(default=uuid.uuid4, editable=False, db_index=True)
|
uid = models.UUIDField(default=uuid.uuid4, editable=False, db_index=True)
|
||||||
owner = models.ForeignKey(User, on_delete=models.PROTECT)
|
owner = models.ForeignKey(User, on_delete=models.PROTECT)
|
||||||
visibility = models.PositiveSmallIntegerField(default=0) # 0: Public / 1: Follower only / 2: Self only
|
visibility = models.PositiveSmallIntegerField(default=0) # 0: Public / 1: Follower only / 2: Self only
|
||||||
created_time = models.DateTimeField(auto_now_add=True)
|
created_time = models.DateTimeField(default=timezone.now) # auto_now_add=True FIXME revert this after migration
|
||||||
edited_time = models.DateTimeField(auto_now=True)
|
edited_time = models.DateTimeField(default=timezone.now) # auto_now=True FIXME revert this after migration
|
||||||
metadata = models.JSONField(default=dict)
|
metadata = models.JSONField(default=dict)
|
||||||
attached_to = models.ForeignKey(User, null=True, default=None, on_delete=models.SET_NULL, related_name="attached_with")
|
attached_to = models.ForeignKey(User, null=True, default=None, on_delete=models.SET_NULL, related_name="attached_with")
|
||||||
|
|
||||||
|
|
|
@ -80,10 +80,10 @@ class Command(BaseCommand):
|
||||||
for user in tqdm(User.objects.filter(is_active=True)):
|
for user in tqdm(User.objects.filter(is_active=True)):
|
||||||
user.shelf_manager.initialize()
|
user.shelf_manager.initialize()
|
||||||
|
|
||||||
def clear(self):
|
def clear(self, classes):
|
||||||
print("Deleting all migrated user pieces")
|
print("Deleting migrated user pieces")
|
||||||
# Piece.objects.all().delete()
|
# Piece.objects.all().delete()
|
||||||
for cls in [Review, Comment, Rating, TagMember, Tag, ShelfLogEntry, ShelfMember]: # Collection
|
for cls in classes: # Collection
|
||||||
print(cls)
|
print(cls)
|
||||||
cls.objects.all().delete()
|
cls.objects.all().delete()
|
||||||
|
|
||||||
|
@ -138,7 +138,7 @@ class Command(BaseCommand):
|
||||||
try:
|
try:
|
||||||
item_link = LinkModel.objects.get(old_id=entity.item.id)
|
item_link = LinkModel.objects.get(old_id=entity.item.id)
|
||||||
item = Item.objects.get(uid=item_link.new_uid)
|
item = Item.objects.get(uid=item_link.new_uid)
|
||||||
Review.review_item_by_user(item, entity.owner, entity.title, entity.content, {'shared_link': entity.shared_link}, entity.visibility)
|
Review.objects.create(owner=entity.owner, item=item, title=entity.title, body=entity.content, metadata={'shared_link': entity.shared_link}, visibility=entity.visibility, created_time=entity.created_time, edited_time=entity.edited_time)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f'Convert failed for {typ} {entity.id}: {e}')
|
print(f'Convert failed for {typ} {entity.id}: {e}')
|
||||||
if options['failstop']:
|
if options['failstop']:
|
||||||
|
@ -219,12 +219,19 @@ class Command(BaseCommand):
|
||||||
def handle(self, *args, **options):
|
def handle(self, *args, **options):
|
||||||
if options['initshelf']:
|
if options['initshelf']:
|
||||||
self.initshelf()
|
self.initshelf()
|
||||||
elif options['clear']:
|
|
||||||
self.clear()
|
|
||||||
elif options['collection']:
|
elif options['collection']:
|
||||||
self.collection(options)
|
if options['clear']:
|
||||||
|
self.clear([Collection])
|
||||||
|
else:
|
||||||
|
self.collection(options)
|
||||||
elif options['review']:
|
elif options['review']:
|
||||||
self.review(options)
|
if options['clear']:
|
||||||
|
self.clear([Review])
|
||||||
|
else:
|
||||||
|
self.review(options)
|
||||||
elif options['mark']:
|
elif options['mark']:
|
||||||
self.mark(options)
|
if options['clear']:
|
||||||
|
self.clear([Comment, Rating, TagMember, Tag, ShelfLogEntry, ShelfMember])
|
||||||
|
else:
|
||||||
|
self.mark(options)
|
||||||
self.stdout.write(self.style.SUCCESS(f'Done.'))
|
self.stdout.write(self.style.SUCCESS(f'Done.'))
|
||||||
|
|
Loading…
Add table
Reference in a new issue