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)
|
||||
owner = models.ForeignKey(User, on_delete=models.PROTECT)
|
||||
visibility = models.PositiveSmallIntegerField(default=0) # 0: Public / 1: Follower only / 2: Self only
|
||||
created_time = models.DateTimeField(auto_now_add=True)
|
||||
edited_time = models.DateTimeField(auto_now=True)
|
||||
created_time = models.DateTimeField(default=timezone.now) # auto_now_add=True FIXME revert this after migration
|
||||
edited_time = models.DateTimeField(default=timezone.now) # auto_now=True FIXME revert this after migration
|
||||
metadata = models.JSONField(default=dict)
|
||||
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)):
|
||||
user.shelf_manager.initialize()
|
||||
|
||||
def clear(self):
|
||||
print("Deleting all migrated user pieces")
|
||||
def clear(self, classes):
|
||||
print("Deleting migrated user pieces")
|
||||
# Piece.objects.all().delete()
|
||||
for cls in [Review, Comment, Rating, TagMember, Tag, ShelfLogEntry, ShelfMember]: # Collection
|
||||
for cls in classes: # Collection
|
||||
print(cls)
|
||||
cls.objects.all().delete()
|
||||
|
||||
|
@ -138,7 +138,7 @@ class Command(BaseCommand):
|
|||
try:
|
||||
item_link = LinkModel.objects.get(old_id=entity.item.id)
|
||||
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:
|
||||
print(f'Convert failed for {typ} {entity.id}: {e}')
|
||||
if options['failstop']:
|
||||
|
@ -219,12 +219,19 @@ class Command(BaseCommand):
|
|||
def handle(self, *args, **options):
|
||||
if options['initshelf']:
|
||||
self.initshelf()
|
||||
elif options['clear']:
|
||||
self.clear()
|
||||
elif options['collection']:
|
||||
if options['clear']:
|
||||
self.clear([Collection])
|
||||
else:
|
||||
self.collection(options)
|
||||
elif options['review']:
|
||||
if options['clear']:
|
||||
self.clear([Review])
|
||||
else:
|
||||
self.review(options)
|
||||
elif options['mark']:
|
||||
if options['clear']:
|
||||
self.clear([Comment, Rating, TagMember, Tag, ShelfLogEntry, ShelfMember])
|
||||
else:
|
||||
self.mark(options)
|
||||
self.stdout.write(self.style.SUCCESS(f'Done.'))
|
||||
|
|
Loading…
Add table
Reference in a new issue