Skip to content

Commit a8c8973

Browse files
authored
refactor: 40기까지의 컬럼 데이터 초기화 (#396)
1 parent c61f7e1 commit a8c8973

File tree

1 file changed

+55
-4
lines changed
  • server/Recruit-Domain/src/main/resources

1 file changed

+55
-4
lines changed
Lines changed: 55 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
INSERT INTO columns (columns_id, created_at, updated_at, navigation_id, next_columns_id, title) VALUES (1,NOW(),NOW(), 1, 2,"개발자");
2-
INSERT INTO columns (columns_id, created_at, updated_at, navigation_id, next_columns_id, title) VALUES (2,NOW(),NOW(), 1, 3,"디자이너");
3-
INSERT INTO columns (columns_id, created_at, updated_at, navigation_id, next_columns_id, title) VALUES (3,NOW(),NOW(), 1, null, "기획자");
41
INSERT INTO board (board_id, created_at, updated_at, card_id,card_type,column_id,navigation_id,next_board_id) VALUES (1,NOW(),NOW(),null,"INVISIBLE",1,1,null);
52
INSERT INTO board (board_id, created_at, updated_at, card_id,card_type,column_id,navigation_id,next_board_id) VALUES (2,NOW(),NOW(),null,"INVISIBLE",2,1,null);
63
INSERT INTO board (board_id, created_at, updated_at, card_id,card_type,column_id,navigation_id,next_board_id) VALUES (3,NOW(),NOW(),null,"INVISIBLE",3,1,null);
@@ -10,4 +7,58 @@ INSERT INTO navigation (navigation_id, created_at, updated_at, title) VALUES (3,
107
INSERT INTO navigation (navigation_id, created_at, updated_at, title) VALUES (4,NOW(),NOW(),"홍보 및 디자인팀");
118
INSERT INTO navigation (navigation_id, created_at, updated_at, title) VALUES (5,NOW(),NOW(),"지원자 대응팀");
129
INSERT INTO navigation (navigation_id, created_at, updated_at, title) VALUES (6,NOW(),NOW(),"OT 담당팀");
13-
INSERT INTO navigation (navigation_id, created_at, updated_at, title) VALUES (7,NOW(),NOW(),"기타 참고");
10+
INSERT INTO navigation (navigation_id, created_at, updated_at, title) VALUES (7,NOW(),NOW(),"기타 참고");
11+
12+
-- 31기 ~ 40기 공통 컬럼(개발자/디자이너/기획자) 초기화
13+
-- navigation_id = 1(공통) 기준으로 year별 컬럼을 생성합니다.
14+
INSERT INTO columns (created_at, updated_at, navigation_id, title, year)
15+
SELECT NOW(), NOW(), 1, t.title, y.year
16+
FROM (
17+
SELECT 31 AS year
18+
UNION ALL SELECT 32
19+
UNION ALL SELECT 33
20+
UNION ALL SELECT 34
21+
UNION ALL SELECT 35
22+
UNION ALL SELECT 36
23+
UNION ALL SELECT 37
24+
UNION ALL SELECT 38
25+
UNION ALL SELECT 39
26+
UNION ALL SELECT 40
27+
) y
28+
CROSS JOIN (
29+
SELECT "개발자" AS title
30+
UNION ALL SELECT "디자이너"
31+
UNION ALL SELECT "기획자"
32+
) t
33+
WHERE NOT EXISTS (
34+
SELECT 1
35+
FROM columns c
36+
WHERE c.navigation_id = 1
37+
AND c.year = y.year
38+
AND c.title = t.title
39+
);
40+
41+
-- year별 공통 컬럼의 연결 순서를 개발자 -> 디자이너 -> 기획자 로 맞춥니다.
42+
UPDATE columns c
43+
SET c.next_columns_id = CASE
44+
WHEN c.title = "개발자" THEN (
45+
SELECT c2.columns_id
46+
FROM columns c2
47+
WHERE c2.navigation_id = 1
48+
AND c2.year = c.year
49+
AND c2.title = "디자이너"
50+
LIMIT 1
51+
)
52+
WHEN c.title = "디자이너" THEN (
53+
SELECT c3.columns_id
54+
FROM columns c3
55+
WHERE c3.navigation_id = 1
56+
AND c3.year = c.year
57+
AND c3.title = "기획자"
58+
LIMIT 1
59+
)
60+
ELSE NULL
61+
END
62+
WHERE c.navigation_id = 1
63+
AND c.year BETWEEN 31 AND 40
64+
AND c.title IN ("개발자", "디자이너", "기획자");

0 commit comments

Comments
 (0)