[add] 회원가입 오류 해결

This commit is contained in:
kimheesu 2025-06-13 15:04:28 +09:00
parent 4771c73c24
commit dd1ff9ac8c
6 changed files with 32 additions and 162 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,104 +0,0 @@
#!/bin/bash
# TradingAgents Docker 관리 스크립트
# 사용법: ./scripts/docker-commands.sh [command]
case "$1" in
"start")
echo "🚀 MySQL과 Redis 컨테이너를 시작합니다..."
docker-compose up -d mysql redis
echo "✅ 컨테이너가 시작되었습니다."
docker-compose ps
;;
"start-all")
echo "🚀 모든 서비스(MySQL, Redis, phpMyAdmin)를 시작합니다..."
docker-compose up -d
echo "✅ 모든 컨테이너가 시작되었습니다."
docker-compose ps
;;
"stop")
echo "🛑 모든 컨테이너를 중지합니다..."
docker-compose down
echo "✅ 컨테이너가 중지되었습니다."
;;
"restart")
echo "🔄 컨테이너를 재시작합니다..."
docker-compose restart mysql redis
echo "✅ 컨테이너가 재시작되었습니다."
;;
"logs")
echo "📋 컨테이너 로그를 확인합니다..."
if [ -n "$2" ]; then
docker-compose logs -f "$2"
else
docker-compose logs -f
fi
;;
"status")
echo "📊 컨테이너 상태를 확인합니다..."
docker-compose ps
echo ""
echo "🔍 포트 정보:"
docker port tradingagents_mysql 2>/dev/null || echo "MySQL 컨테이너가 실행 중이지 않습니다."
docker port tradingagents_redis 2>/dev/null || echo "Redis 컨테이너가 실행 중이지 않습니다."
;;
"clean")
echo "🧹 사용하지 않는 Docker 리소스를 정리합니다..."
docker system prune -f
echo "✅ 정리가 완료되었습니다."
;;
"reset")
echo "⚠️ 경고: 모든 데이터가 삭제됩니다!"
read -p "정말로 데이터베이스를 초기화하시겠습니까? (y/N): " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
echo "🗑️ 볼륨과 함께 컨테이너를 삭제합니다..."
docker-compose down -v
echo "🚀 새로운 컨테이너를 시작합니다..."
docker-compose up -d mysql redis
echo "✅ 데이터베이스가 초기화되었습니다."
else
echo "❌ 취소되었습니다."
fi
;;
"mysql")
echo "🔗 MySQL 컨테이너에 연결합니다..."
docker-compose exec mysql mysql -u root -p tradingagents_web
;;
"redis")
echo "🔗 Redis 컨테이너에 연결합니다..."
docker-compose exec redis redis-cli
;;
*)
echo "🐳 TradingAgents Docker 관리 스크립트"
echo ""
echo "사용법: $0 [command]"
echo ""
echo "명령어:"
echo " start - MySQL과 Redis 컨테이너 시작"
echo " start-all - 모든 서비스 시작 (phpMyAdmin 포함)"
echo " stop - 모든 컨테이너 중지"
echo " restart - MySQL과 Redis 재시작"
echo " logs - 컨테이너 로그 확인 (logs [service_name])"
echo " status - 컨테이너 상태 확인"
echo " clean - 사용하지 않는 Docker 리소스 정리"
echo " reset - 데이터베이스 초기화 (주의: 모든 데이터 삭제)"
echo " mysql - MySQL 컨테이너에 직접 연결"
echo " redis - Redis 컨테이너에 직접 연결"
echo ""
echo "예시:"
echo " $0 start"
echo " $0 logs mysql"
echo " $0 status"
;;
esac

View File

@ -22,9 +22,6 @@ class UserRegistrationSerializer(serializers.ModelSerializer):
validated_data.pop('password_confirm')
user = User.objects.create_user(**validated_data)
# 사용자 프로필 자동 생성
UserProfile.objects.create(user=user)
return user

View File

@ -23,9 +23,10 @@ class UserRegistrationView(APIView):
def post(self, request):
serializer = UserRegistrationSerializer(data=request.data)
if serializer.is_valid():
user = serializer.save()
print(f"user: {user}")
# JWT 토큰 생성
refresh = RefreshToken.for_user(user)

View File

@ -0,0 +1,30 @@
#!/bin/bash
echo "🚀 Django 서버 시작 - 데이터베이스 초기화"
# 1. 데이터베이스 초기화
echo "🔄 데이터베이스 초기화 중..."
docker exec -i tradingagents_mysql mysql -u root -ppassword -e "
DROP DATABASE IF EXISTS tradingagents_db;
CREATE DATABASE tradingagents_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
"
# 2. 마이그레이션
echo "🔄 마이그레이션 중..."
python manage.py makemigrations authentication
python manage.py makemigrations
python manage.py migrate
# 3. 관리자 계정 생성
echo "🔄 관리자 계정 생성 중..."
python manage.py shell -c "
from django.contrib.auth import get_user_model;
User = get_user_model();
if not User.objects.filter(email='admin@example.com').exists():
User.objects.create_superuser('admin@example.com', 'admin', 'admin123!');
print('✅ 관리자: admin@example.com / admin123!');
"
# 4. 서버 시작
echo "🎉 서버 시작!"
python manage.py runserver