Files
diary-system/migrate_data.py

54 lines
1.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env python3
"""
创建默认用户并迁移现有数据
"""
import os, sys
sys.path.insert(0, '/root/.openclaw/workspace/diary-system/backend')
os.environ['DJANGO_SETTINGS_MODULE'] = 'diary_system.settings'
import django
django.setup()
from django.contrib.auth.models import User
from diary.models import DiaryEntry, Experience, Task, Comment
# 1. 创建默认用户(北极星)
print("📝 创建默认用户...")
default_user, created = User.objects.get_or_create(
username='beijixing',
defaults={'email': 'beijixing@example.com'}
)
if created:
default_user.set_password('beijixing123')
default_user.save()
print(f"✅ 创建默认用户beijixing / beijixing123")
else:
print(f"✅ 默认用户已存在beijixing")
# 2. 迁移现有数据到默认用户
print("\n📦 迁移现有数据...")
# 迁移日记
diary_count = DiaryEntry.objects.filter(user__isnull=True).count()
DiaryEntry.objects.filter(user__isnull=True).update(user=default_user)
print(f" 日记:{diary_count}")
# 迁移经验
exp_count = Experience.objects.filter(user__isnull=True).count()
Experience.objects.filter(user__isnull=True).update(user=default_user)
print(f" 经验:{exp_count}")
# 迁移任务
task_count = Task.objects.filter(user__isnull=True).count()
Task.objects.filter(user__isnull=True).update(user=default_user)
print(f" 任务:{task_count}")
# 迁移评论
comment_count = Comment.objects.filter(user__isnull=True).count()
Comment.objects.filter(user__isnull=True).update(user=default_user)
print(f" 评论:{comment_count}")
print("\n✅ 数据迁移完成!")
print(f"\n📝 默认用户beijixing")
print(f"🔑 密码beijixing123")