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 , " 기획자" );
41INSERT 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 );
52INSERT 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 );
63INSERT 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,
107INSERT INTO navigation (navigation_id, created_at, updated_at, title) VALUES (4 ,NOW(),NOW()," 홍보 및 디자인팀" );
118INSERT INTO navigation (navigation_id, created_at, updated_at, title) VALUES (5 ,NOW(),NOW()," 지원자 대응팀" );
129INSERT 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