Skip to content

6단계 - 기존 스키마 대상 제거#6

Open
songsunkook wants to merge 2 commits intostep5-cleanupfrom
step6-contract
Open

6단계 - 기존 스키마 대상 제거#6
songsunkook wants to merge 2 commits intostep5-cleanupfrom
step6-contract

Conversation

@songsunkook
Copy link
Owner

Migration Progress

현재 단계: 6단계 - Contract (기존 스키마 제거)

수행 작업

  • 기존 스키마 컬럼 제거 (DDL)
  • 신규 스키마 정리 및 제약조건 강화
  • 데이터베이스 스키마 마이그레이션 완료

DDL 실행

1. 기존 컬럼 제거

-- first_name, last_name 컬럼 완전 제거
ALTER TABLE users 
    DROP COLUMN first_name,
    DROP COLUMN last_name;

2. 신규 스키마 정리

-- full_name을 NOT NULL로 설정
ALTER TABLE users 
    MODIFY COLUMN full_name VARCHAR(255) NOT NULL;

3. 최종 스키마 확인

DESCRIBE users;

-- 예상 결과:
-- +------------+--------------+------+-----+---------+----------------+
-- | Field      | Type         | Null | Key | Default | Extra          |
-- +------------+--------------+------+-----+---------+----------------+
-- | id         | bigint       | NO   | PRI | NULL    | auto_increment |
-- | email      | varchar(255) | NO   |     | NULL    |                |
-- | full_name  | varchar(255) | NO   |     | NULL    |                |
-- | created_at | datetime(6)  | YES  |     | NULL    |                |
-- | updated_at | datetime(6)  | YES  |     | NULL    |                |
-- +------------+--------------+------+-----+---------+----------------+

데이터베이스

  • 기존 스키마 제거: first_name, last_name 컬럼 삭제
  • 신규 스키마 완성: full_name 컬럼만 사용 (NOT NULL)
  • 정리된 스키마: 불필요한 컬럼 없는 깔끔한 구조

애플리케이션

  • 코드 정리 완료: Feature Flag 및 기존 스키마 코드 제거
  • 단일 스키마 사용: fullName 필드만 사용
  • 일관된 API: 모든 API가 fullName 기반

최종 아키텍처

  • 단순한 스키마: users 테이블에 full_name 컬럼만 존재
  • 깔끔한 코드: 이전 스키마나 Feature Flag 관련 코드 없음
  • 일관성: 데이터베이스와 애플리케이션이 동일한 스키마 사용

DB Migration 프로젝트 완료! 🎉

@songsunkook songsunkook changed the title 5단계 - 기존 스키마 대상 제거 6단계 - 기존 스키마 대상 제거 Oct 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant