Skip to content

[BE2-마이그레이션] orders.status + AdminUser 테이블 추가 #20

Description

@yesung05

작업 내용

docs/백엔드_기능명세.md 1-A, 1-B, 1-D, 1-E, 1-F 섹션 참고.

Phase 2 전체(관리자 화면 포함)의 선행 작업. 다른 모든 이슈가 이 작업 완료를 전제로 한다.

1-A. orders 테이블에 status, user_coupon_id 컬럼 추가

  • backend/core/models.pyOrderstatus(ENUM: RECEIVED/COOKING/READY/COMPLETED/CANCELLED, default RECEIVED) 추가
  • user_coupon_id(FK → user_coupons.id, nullable) 추가 — 환불 시 쿠폰 복구용
  • database/init.sqlorders 테이블 정의도 동일하게 동기화
  • 이미 생성된 로컬 DB에는 ALTER TABLE orders ADD COLUMN ... 직접 실행 (이 프로젝트는 Alembic 안 씀 — create_all은 컬럼 추가를 안 해줌)

1-B. AdminUser 신규 테이블

  • backend/core/models.pyAdminUser 클래스 추가 (id, username, password_hash, display_name, role[OWNER/STAFF], is_active, last_login_at, created_at)
  • 고객용 users 테이블과는 완전히 별도 (계정 개념이 다름)

1-D. 의존성/환경변수

  • backend/requirements.txt: passlib[bcrypt], python-jose[cryptography] 추가
  • .env.example: ADMIN_JWT_SECRET, ADMIN_JWT_EXPIRE_MINUTES, ADMIN_BOOTSTRAP_USERNAME, ADMIN_BOOTSTRAP_PASSWORD 추가

1-F. backend/main.py

  • api/admin/ 라우터들을 등록할 자리 미리 마련 (각 모듈 PR이 이어서 라우터를 추가)

완료 기준

  • orders 테이블에 status, user_coupon_id 컬럼 존재 확인
  • admin_users 테이블 생성 확인
  • database/init.sql 재실행 시 에러 없이 동일 스키마 생성
  • .env.example에 관리자 관련 변수 전부 반영

참고

docs/백엔드_기능명세.md — 0-1, 1-A~1-F 섹션. 이후 모든 Phase 2 이슈의 선행 조건.

Metadata

Metadata

Assignees

Labels

DBDB API 서버 관련 작업migrationDB 스키마 마이그레이션phase2Phase 2: 백엔드 로직 보완 + 관리자 화면

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions