1+ CREATE TABLE IF NOT EXISTS application
2+ (
3+ id BIGINT AUTO_INCREMENT NOT NULL ,
4+ term VARCHAR (50 ) NOT NULL ,
5+ site_user_id BIGINT NULL ,
6+ nickname_for_apply VARCHAR (100 ) NULL ,
7+ update_count INT DEFAULT 0 NOT NULL ,
8+ verify_status VARCHAR (50 ) DEFAULT ' PENDING' NOT NULL ,
9+ gpa DOUBLE NOT NULL ,
10+ gpa_criteria DOUBLE NOT NULL ,
11+ language_test_type ENUM (' CEFR' ,' DALF' ,' DELF' ,' DUOLINGO' ,' IELTS' ,' JLPT' ,' NEW_HSK' ,' TCF' ,' TEF' ,' TOEFL_IBT' ,' TOEFL_ITP' ,' TOEIC' ) NOT NULL ,
12+ language_test_score VARCHAR (255 ) NOT NULL ,
13+ gpa_report_url VARCHAR (500 ) NOT NULL ,
14+ language_test_report_url VARCHAR (500 ) NOT NULL ,
15+ first_choice_university_id BIGINT NULL ,
16+ second_choice_university_id BIGINT NULL ,
17+ third_choice_university_id BIGINT NULL ,
18+ CONSTRAINT ` PRIMARY` PRIMARY KEY (id)
19+ );
20+
21+ CREATE TABLE IF NOT EXISTS board
22+ (
23+ code VARCHAR (20 ) NOT NULL ,
24+ korean_name VARCHAR (20 ) NOT NULL ,
25+ CONSTRAINT ` PRIMARY` PRIMARY KEY (code)
26+ );
27+
28+ CREATE TABLE IF NOT EXISTS comment
29+ (
30+ created_at datetime NULL ,
31+ id BIGINT AUTO_INCREMENT NOT NULL ,
32+ parent_id BIGINT NULL ,
33+ post_id BIGINT NULL ,
34+ site_user_id BIGINT NULL ,
35+ updated_at datetime NULL ,
36+ content VARCHAR (255 ) NULL ,
37+ CONSTRAINT ` PRIMARY` PRIMARY KEY (id)
38+ );
39+
40+ CREATE TABLE IF NOT EXISTS country
41+ (
42+ code VARCHAR (2 ) NOT NULL ,
43+ region_code VARCHAR (10 ) NULL ,
44+ korean_name VARCHAR (100 ) NOT NULL ,
45+ CONSTRAINT ` PRIMARY` PRIMARY KEY (code)
46+ );
47+
48+ CREATE TABLE IF NOT EXISTS interested_country
49+ (
50+ country_code VARCHAR (2 ) NULL ,
51+ id BIGINT AUTO_INCREMENT NOT NULL ,
52+ site_user_id BIGINT NULL ,
53+ CONSTRAINT ` PRIMARY` PRIMARY KEY (id)
54+ );
55+
56+ CREATE TABLE IF NOT EXISTS interested_region
57+ (
58+ id BIGINT AUTO_INCREMENT NOT NULL ,
59+ site_user_id BIGINT NULL ,
60+ region_code VARCHAR (10 ) NULL ,
61+ CONSTRAINT ` PRIMARY` PRIMARY KEY (id)
62+ );
63+
64+ CREATE TABLE IF NOT EXISTS language_requirement
65+ (
66+ id BIGINT AUTO_INCREMENT NOT NULL ,
67+ university_info_for_apply_id BIGINT NULL ,
68+ language_test_type ENUM (' CEFR' ,' DALF' ,' DELF' ,' DUOLINGO' ,' IELTS' ,' JLPT' ,' NEW_HSK' ,' TCF' ,' TEF' ,' TOEFL_IBT' ,' TOEFL_ITP' ,' TOEIC' ) NOT NULL ,
69+ min_score VARCHAR (255 ) NOT NULL ,
70+ CONSTRAINT ` PRIMARY` PRIMARY KEY (id)
71+ );
72+
73+ CREATE TABLE IF NOT EXISTS liked_university
74+ (
75+ id BIGINT AUTO_INCREMENT NOT NULL ,
76+ site_user_id BIGINT NULL ,
77+ university_info_for_apply_id BIGINT NULL ,
78+ CONSTRAINT ` PRIMARY` PRIMARY KEY (id)
79+ );
80+
81+ CREATE TABLE IF NOT EXISTS post
82+ (
83+ is_question BIT (1 ) NULL ,
84+ created_at datetime NULL ,
85+ id BIGINT AUTO_INCREMENT NOT NULL ,
86+ like_count BIGINT NULL ,
87+ site_user_id BIGINT NULL ,
88+ updated_at datetime NULL ,
89+ view_count BIGINT NULL ,
90+ board_code VARCHAR (20 ) NULL ,
91+ content VARCHAR (1000 ) NULL ,
92+ category ENUM (' 자유' ,' 전체' ,' 질문' ) NULL ,
93+ title VARCHAR (255 ) NULL ,
94+ CONSTRAINT ` PRIMARY` PRIMARY KEY (id)
95+ );
96+
97+ CREATE TABLE IF NOT EXISTS post_image
98+ (
99+ id BIGINT AUTO_INCREMENT NOT NULL ,
100+ post_id BIGINT NULL ,
101+ url VARCHAR (500 ) NULL ,
102+ CONSTRAINT ` PRIMARY` PRIMARY KEY (id)
103+ );
104+
105+ CREATE TABLE IF NOT EXISTS post_like
106+ (
107+ id BIGINT AUTO_INCREMENT NOT NULL ,
108+ post_id BIGINT NULL ,
109+ site_user_id BIGINT NULL ,
110+ CONSTRAINT ` PRIMARY` PRIMARY KEY (id)
111+ );
112+
113+ CREATE TABLE IF NOT EXISTS region
114+ (
115+ code VARCHAR (10 ) NOT NULL ,
116+ korean_name VARCHAR (100 ) NOT NULL ,
117+ CONSTRAINT ` PRIMARY` PRIMARY KEY (code)
118+ );
119+
120+ CREATE TABLE IF NOT EXISTS site_user
121+ (
122+ quited_at date NULL ,
123+ id BIGINT AUTO_INCREMENT NOT NULL ,
124+ nickname_modified_at datetime NULL ,
125+ birth VARCHAR (20 ) NOT NULL ,
126+ email VARCHAR (100 ) NOT NULL ,
127+ nickname VARCHAR (100 ) NOT NULL ,
128+ profile_image_url VARCHAR (500 ) NULL ,
129+ gender ENUM (' FEMALE' ,' MALE' ,' PREFER_NOT_TO_SAY' ) NOT NULL ,
130+ preparation_stage ENUM (' AFTER_EXCHANGE' ,' CONSIDERING' ,' PREPARING_FOR_DEPARTURE' ,' STUDYING_ABROAD' ) NOT NULL ,
131+ ` role` ENUM (' MENTEE' ,' MENTOR' ) NOT NULL ,
132+ CONSTRAINT ` PRIMARY` PRIMARY KEY (id)
133+ );
134+
135+ CREATE TABLE IF NOT EXISTS university
136+ (
137+ id BIGINT AUTO_INCREMENT NOT NULL ,
138+ region_code VARCHAR (10 ) NULL ,
139+ country_code VARCHAR (2 ) NULL ,
140+ format_name VARCHAR (100 ) NOT NULL ,
141+ english_name VARCHAR (100 ) NOT NULL ,
142+ korean_name VARCHAR (100 ) NOT NULL ,
143+ background_image_url VARCHAR (500 ) NOT NULL ,
144+ logo_image_url VARCHAR (500 ) NOT NULL ,
145+ details_for_local VARCHAR (1000 ) NULL ,
146+ homepage_url VARCHAR (500 ) NULL ,
147+ english_course_url VARCHAR (500 ) NULL ,
148+ accommodation_url VARCHAR (500 ) NULL ,
149+ CONSTRAINT ` PRIMARY` PRIMARY KEY (id)
150+ );
151+
152+ CREATE TABLE IF NOT EXISTS university_info_for_apply
153+ (
154+ id BIGINT AUTO_INCREMENT NOT NULL ,
155+ term VARCHAR (50 ) NOT NULL ,
156+ university_id BIGINT NULL ,
157+ korean_name VARCHAR (100 ) NOT NULL ,
158+ student_capacity INT NULL ,
159+ tuition_fee_type ENUM (' HOME_UNIVERSITY_PAYMENT' ,' MIXED_PAYMENT' ,' OVERSEAS_UNIVERSITY_PAYMENT' ) NULL ,
160+ semester_available_for_dispatch ENUM (' FOUR_SEMESTER' ,' IRRELEVANT' ,' NO_DATA' ,' ONE_OR_TWO_SEMESTER' ,' ONE_SEMESTER' ,' ONE_YEAR' ) NULL ,
161+ details_for_language VARCHAR (1000 ) NULL ,
162+ gpa_requirement VARCHAR (100 ) NULL ,
163+ gpa_requirement_criteria VARCHAR (100 ) NULL ,
164+ semester_requirement VARCHAR (100 ) NULL ,
165+ details_for_apply VARCHAR (1000 ) NULL ,
166+ details_for_major VARCHAR (1000 ) NULL ,
167+ details_for_english_course VARCHAR (1000 ) NULL ,
168+ details_for_accommodation VARCHAR (1000 ) NULL ,
169+ details VARCHAR (500 ) NULL ,
170+ CONSTRAINT ` PRIMARY` PRIMARY KEY (id)
171+ );
172+
173+ ALTER TABLE site_user
174+ ADD CONSTRAINT site_user_email_unique UNIQUE (email);
175+
176+ ALTER TABLE comment
177+ ADD CONSTRAINT FK11tfff2an5hdv747cktxbdi6t FOREIGN KEY (site_user_id) REFERENCES site_user (id) ON DELETE NO ACTION;
178+
179+ CREATE INDEX FK11tfff2an5hdv747cktxbdi6t ON comment (site_user_id);
180+
181+ ALTER TABLE interested_country
182+ ADD CONSTRAINT FK26u5am55jefclcd7r5smk8ai7 FOREIGN KEY (site_user_id) REFERENCES site_user (id) ON DELETE NO ACTION;
183+
184+ CREATE INDEX FK26u5am55jefclcd7r5smk8ai7 ON interested_country (site_user_id);
185+
186+ ALTER TABLE interested_region
187+ ADD CONSTRAINT FK7h2182pqkavi9d8o2pku6gidi FOREIGN KEY (region_code) REFERENCES region (code) ON DELETE NO ACTION;
188+
189+ CREATE INDEX FK7h2182pqkavi9d8o2pku6gidi ON interested_region (region_code);
190+
191+ ALTER TABLE interested_country
192+ ADD CONSTRAINT FK7x4ad24lblkq2ss0920uqfd6s FOREIGN KEY (country_code) REFERENCES country (code) ON DELETE NO ACTION;
193+
194+ CREATE INDEX FK7x4ad24lblkq2ss0920uqfd6s ON interested_country (country_code);
195+
196+ ALTER TABLE university_info_for_apply
197+ ADD CONSTRAINT FKd0257hco6uy2utd1xccjh3fal FOREIGN KEY (university_id) REFERENCES university (id) ON DELETE NO ACTION;
198+
199+ CREATE INDEX FKd0257hco6uy2utd1xccjh3fal ON university_info_for_apply (university_id);
200+
201+ ALTER TABLE post
202+ ADD CONSTRAINT FKfu9q9o3mlqkd58wg45ykgu8ni FOREIGN KEY (site_user_id) REFERENCES site_user (id) ON DELETE NO ACTION;
203+
204+ CREATE INDEX FKfu9q9o3mlqkd58wg45ykgu8ni ON post (site_user_id);
205+
206+ ALTER TABLE post_like
207+ ADD CONSTRAINT FKgx1v0whinnoqveopoh6tb4ykb FOREIGN KEY (site_user_id) REFERENCES site_user (id) ON DELETE NO ACTION;
208+
209+ CREATE INDEX FKgx1v0whinnoqveopoh6tb4ykb ON post_like (site_user_id);
210+
211+ ALTER TABLE liked_university
212+ ADD CONSTRAINT FKhj3gn3mqmfeiiw9jt83g7t3rk FOREIGN KEY (university_info_for_apply_id) REFERENCES university_info_for_apply (id) ON DELETE NO ACTION;
213+
214+ CREATE INDEX FKhj3gn3mqmfeiiw9jt83g7t3rk_idx ON liked_university (university_info_for_apply_id);
215+
216+ ALTER TABLE interested_region
217+ ADD CONSTRAINT FKia6h0pbisqhgm3lkeya6vqo4w FOREIGN KEY (site_user_id) REFERENCES site_user (id) ON DELETE NO ACTION;
218+
219+ CREATE INDEX FKia6h0pbisqhgm3lkeya6vqo4w ON interested_region (site_user_id);
220+
221+ ALTER TABLE country
222+ ADD CONSTRAINT FKife035f2scmgcutdtv6bfd6g8 FOREIGN KEY (region_code) REFERENCES region (code) ON DELETE NO ACTION;
223+
224+ CREATE INDEX FKife035f2scmgcutdtv6bfd6g8 ON country (region_code);
225+
226+ ALTER TABLE university
227+ ADD CONSTRAINT FKksoyt17h0te1ra588y4a3208r FOREIGN KEY (country_code) REFERENCES country (code) ON DELETE NO ACTION;
228+
229+ CREATE INDEX FKksoyt17h0te1ra588y4a3208r ON university (country_code);
230+
231+ ALTER TABLE university
232+ ADD CONSTRAINT FKpwr8ocev54r8d22wdyj4a37bc FOREIGN KEY (region_code) REFERENCES region (code) ON DELETE NO ACTION;
233+
234+ CREATE INDEX FKpwr8ocev54r8d22wdyj4a37bc ON university (region_code);
235+
236+ ALTER TABLE language_requirement
237+ ADD CONSTRAINT FKr75pgslwfbrvjkfau6dwtlg8l FOREIGN KEY (university_info_for_apply_id) REFERENCES university_info_for_apply (id) ON DELETE NO ACTION;
238+
239+ CREATE INDEX FKr75pgslwfbrvjkfau6dwtlg8l ON language_requirement (university_info_for_apply_id);
240+
241+ ALTER TABLE liked_university
242+ ADD CONSTRAINT FKrrhud921brslcukx6fyuh0th3 FOREIGN KEY (site_user_id) REFERENCES site_user (id) ON DELETE NO ACTION;
243+
244+ CREATE INDEX FKrrhud921brslcukx6fyuh0th3 ON liked_university (site_user_id);
245+
246+ ALTER TABLE application
247+ ADD CONSTRAINT FKs4s3hebtn7vwd0b4xt8msxsis FOREIGN KEY (site_user_id) REFERENCES site_user (id) ON DELETE NO ACTION;
248+
249+ CREATE INDEX FKs4s3hebtn7vwd0b4xt8msxsis ON application (site_user_id);
250+
251+ ALTER TABLE application
252+ ADD CONSTRAINT fk_university_info_for_apply_id_1 FOREIGN KEY (first_choice_university_id) REFERENCES university_info_for_apply (id) ON DELETE NO ACTION;
253+
254+ CREATE INDEX fk_university_info_for_apply_id_1 ON application (first_choice_university_id);
255+
256+ ALTER TABLE application
257+ ADD CONSTRAINT fk_university_info_for_apply_id_2 FOREIGN KEY (second_choice_university_id) REFERENCES university_info_for_apply (id) ON DELETE NO ACTION;
258+
259+ CREATE INDEX fk_university_info_for_apply_id_2 ON application (second_choice_university_id);
0 commit comments