Skip to content

Commit 329fdb3

Browse files
Merge pull request #122 from DevKor-github/database/flyway
[Feat&Mod] flyway 세팅 및 docker-compose 파일 수정
2 parents cc93408 + d5f1feb commit 329fdb3

File tree

3 files changed

+102
-19
lines changed

3 files changed

+102
-19
lines changed

ontime-back/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ dependencies {
5757
implementation 'com.google.firebase:firebase-admin:9.2.0'
5858

5959
// flyway
60-
// implementation 'org.flywaydb:flyway-mysql'
60+
implementation 'org.flywaydb:flyway-mysql'
6161

6262
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310'
6363

ontime-back/docker-compose.yml

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,4 @@ services:
1515
- /home/ubuntu/OnTime-back/ontime-back/src/main/resources/key/:/app/resources/key/
1616

1717
depends_on:
18-
- mysql # mysql 서비스가 실행된 이후에 backend를 실행
19-
20-
mysql:
21-
image: mysql:8.0.34 # MySQL 8.0.34 이미지
22-
container_name: mysql-container-ontime
23-
environment:
24-
MYSQL_DATABASE: ontime_db
25-
MYSQL_USER: ontime
26-
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
27-
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
28-
ONTIME_PASSWORD: ${ONTIME_PASSWORD}
29-
ONTIME_HOST: ${ONTIME_HOST}
30-
ports:
31-
- "3307:3306" # 호스트의 3306 포트를 컨테이너의 3306 포트로 매핑
32-
volumes:
33-
- mysql_data:/var/lib/mysql # MySQL 데이터를 지속적으로 저장
34-
volumes:
35-
mysql_data: # MySQL 데이터를 저장할 볼륨 정의
18+
- mysql # mysql 서비스가 실행된 이후에 backend를 실행
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
CREATE TABLE api_log (
2+
api_log_id BIGINT AUTO_INCREMENT PRIMARY KEY,
3+
request_url VARCHAR(255),
4+
request_method VARCHAR(10),
5+
user_id VARCHAR(255),
6+
client_ip VARCHAR(50),
7+
response_status INT,
8+
taken_time BIGINT,
9+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
10+
);
11+
12+
CREATE TABLE user (
13+
user_id BIGINT AUTO_INCREMENT PRIMARY KEY,
14+
email VARCHAR(255) UNIQUE NOT NULL,
15+
password VARCHAR(255),
16+
image_url VARCHAR(255),
17+
name VARCHAR(30),
18+
spare_time INT,
19+
note TEXT,
20+
punctuality_score FLOAT,
21+
schedule_count_after_reset INT,
22+
lateness_count_after_reset INT,
23+
role VARCHAR(20) NOT NULL,
24+
social_type VARCHAR(20),
25+
social_id VARCHAR(255) UNIQUE,
26+
refresh_token TEXT,
27+
firebase_token TEXT,
28+
social_login_token TEXT
29+
);
30+
31+
CREATE TABLE place (
32+
place_id BINARY(36) PRIMARY KEY,
33+
place_name VARCHAR(255) NOT NULL
34+
);
35+
36+
CREATE TABLE schedule (
37+
schedule_id BINARY(36) PRIMARY KEY,
38+
user_id BIGINT NOT NULL,
39+
place_id BINARY(36),
40+
schedule_name VARCHAR(30) NOT NULL,
41+
move_time INT,
42+
schedule_time TIMESTAMP,
43+
is_change TINYINT(1),
44+
is_started TINYINT(1),
45+
schedule_spare_time INT,
46+
lateness_time INT,
47+
schedule_note TEXT,
48+
CONSTRAINT fk_schedule_user FOREIGN KEY (user_id) REFERENCES user (user_id) ON DELETE CASCADE,
49+
CONSTRAINT fk_schedule_place FOREIGN KEY (place_id) REFERENCES place (place_id) ON DELETE SET NULL
50+
);
51+
52+
CREATE INDEX idx_schedule_user_id ON schedule(user_id);
53+
CREATE INDEX idx_schedule_time ON schedule(schedule_time);
54+
55+
CREATE TABLE feedback (
56+
feedback_id BINARY(36) PRIMARY KEY,
57+
message TEXT NOT NULL,
58+
create_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
59+
user_id BIGINT NOT NULL,
60+
CONSTRAINT fk_feedback_user FOREIGN KEY (user_id) REFERENCES user (user_id) ON DELETE CASCADE
61+
);
62+
63+
CREATE TABLE friend_ship (
64+
friend_ship_id BINARY(36) PRIMARY KEY,
65+
requester_id BIGINT NOT NULL,
66+
receiver_id BIGINT,
67+
accept_status VARCHAR(20) NOT NULL,
68+
CONSTRAINT fk_friendship_requester FOREIGN KEY (requester_id) REFERENCES user (user_id) ON DELETE CASCADE,
69+
CONSTRAINT fk_friendship_receiver FOREIGN KEY (receiver_id) REFERENCES user (user_id) ON DELETE CASCADE
70+
);
71+
72+
CREATE TABLE preparation_schedule (
73+
preparation_schedule_id BINARY(36) PRIMARY KEY,
74+
schedule_id BINARY(36) NOT NULL,
75+
preparation_name VARCHAR(30) NOT NULL,
76+
preparation_time INT,
77+
next_preparation_id BINARY(36),
78+
CONSTRAINT fk_preparation_schedule FOREIGN KEY (schedule_id) REFERENCES schedule (schedule_id) ON DELETE CASCADE,
79+
CONSTRAINT fk_next_preparation FOREIGN KEY (next_preparation_id) REFERENCES preparation_schedule (preparation_schedule_id)
80+
);
81+
82+
CREATE TABLE preparation_user (
83+
preparation_id BINARY(36) PRIMARY KEY,
84+
user_id BIGINT NOT NULL,
85+
preparation_name VARCHAR(30) NOT NULL,
86+
preparation_time INT,
87+
next_preparation_id BINARY(36),
88+
CONSTRAINT fk_preparation_user FOREIGN KEY (user_id) REFERENCES user (user_id) ON DELETE CASCADE,
89+
CONSTRAINT fk_next_preparation_user FOREIGN KEY (next_preparation_id) REFERENCES preparation_user (preparation_id)
90+
);
91+
92+
CREATE TABLE user_setting (
93+
user_setting_id BINARY(36) PRIMARY KEY,
94+
user_id BIGINT NOT NULL,
95+
is_notifications_enabled TINYINT(1) DEFAULT 1,
96+
sound_volume INT DEFAULT 50,
97+
is_play_on_speaker TINYINT(1) DEFAULT 1,
98+
is24hour_format TINYINT(1) DEFAULT 1,
99+
CONSTRAINT fk_user_setting FOREIGN KEY (user_id) REFERENCES user (user_id) ON DELETE CASCADE
100+
);

0 commit comments

Comments
 (0)