User_activity_log model

This commit is contained in:
2024-12-06 15:05:00 +09:00
parent 7309aef349
commit c77f46fdff
5 changed files with 85 additions and 53 deletions

View File

@@ -1,29 +0,0 @@
from django.core.management.base import BaseCommand
from users.models import WordPressUserActivityLog
from users.models import LocalUserActivityLog
from asgiref.sync import sync_to_async
class Command(BaseCommand):
help = "Синхронизация данных из WordPress в локальную базу данных"
def handle(self, *args, **kwargs):
self.stdout.write("Начало синхронизации данных...")
try:
# Получаем данные из WordPress
wordpress_logs = WordPressUserActivityLog.objects.using('wordpress').all()
for log in wordpress_logs:
# Сохраняем данные в локальную базу
LocalUserActivityLog.objects.update_or_create(
id=log.id, # Используем уникальный идентификатор
defaults={
'user_id': log.user_id,
'activity_type': log.activity_type,
'timestamp': log.timestamp,
'additional_data': log.additional_data,
},
)
self.stdout.write(self.style.SUCCESS("Синхронизация завершена успешно!"))
except Exception as e:
self.stderr.write(self.style.ERROR(f"Ошибка синхронизации: {str(e)}"))