Skip to content

Commit fd1f8a0

Browse files
committed
fix: 운동 유형 제약 조건 갱신
1 parent 04af9cb commit fd1f8a0

1 file changed

Lines changed: 38 additions & 0 deletions

File tree

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
-- =====================================================================
2+
-- V25__update_user_onboarding_exercise_type_check.sql
3+
-- 목적: user_onboardings.exercise_type CHECK 제약을 현재 ExerciseType enum과 맞춘다.
4+
-- 배경: 기존 DB 제약은 CARDIO, PILATES, YOGA, WALKING_HIKING를 허용하지만
5+
-- 현재 enum은 WALKING, RUNNING, PILATES_YOGA, HIKING를 사용한다.
6+
-- 신규 enum 값 저장 시 UPDATE/INSERT가 실패하지 않도록 기존 데이터를 변환한다.
7+
-- 멱등: UPDATE 후 DROP IF EXISTS -> ADD 패턴.
8+
-- =====================================================================
9+
10+
UPDATE user_onboardings
11+
SET exercise_type = 'WALKING'
12+
WHERE exercise_type = 'CARDIO';
13+
14+
UPDATE user_onboardings
15+
SET exercise_type = 'PILATES_YOGA'
16+
WHERE exercise_type IN ('PILATES', 'YOGA');
17+
18+
UPDATE user_onboardings
19+
SET exercise_type = 'HIKING'
20+
WHERE exercise_type = 'WALKING_HIKING';
21+
22+
ALTER TABLE user_onboardings
23+
DROP CONSTRAINT IF EXISTS user_onboardings_exercise_type_check;
24+
25+
ALTER TABLE user_onboardings
26+
ADD CONSTRAINT user_onboardings_exercise_type_check
27+
CHECK (exercise_type IN (
28+
'GYM',
29+
'HOME_TRAINING',
30+
'PILATES_YOGA',
31+
'WALKING',
32+
'RUNNING',
33+
'HIKING',
34+
'SPORTS',
35+
'CROSSFIT',
36+
'SWIMMING',
37+
'NONE'
38+
));

0 commit comments

Comments
 (0)