@@ -3,6 +3,7 @@ buildscript {
|
||||
springBootVersion = '2.7.0'
|
||||
dependencyManagementVersion = '1.0.11.RELEASE'
|
||||
kotlinVersion = '1.6.21'
|
||||
flywayVersion = '8.5.11'
|
||||
}
|
||||
repositories {
|
||||
mavenCentral()
|
||||
@@ -60,6 +61,8 @@ dependencies {
|
||||
runtimeOnly 'mysql:mysql-connector-java' // MySQL
|
||||
runtimeOnly 'com.h2database:h2' // H2
|
||||
|
||||
implementation "org.flywaydb:flyway-core:${flywayVersion}" // flyway
|
||||
|
||||
testImplementation 'org.springframework.boot:spring-boot-starter-test'
|
||||
}
|
||||
|
||||
|
||||
@@ -9,3 +9,6 @@ spring:
|
||||
dialect: org.hibernate.dialect.MySQL5InnoDBDialect
|
||||
format_sql: true
|
||||
show-sql: true
|
||||
flyway:
|
||||
baseline-on-migrate: true
|
||||
# baseline-version: 0
|
||||
|
||||
13
src/main/resources/db/migration/V001__Create_cafe.sql
Normal file
13
src/main/resources/db/migration/V001__Create_cafe.sql
Normal file
@@ -0,0 +1,13 @@
|
||||
CREATE TABLE `cafe` (
|
||||
`cafe_id` binary(16) NOT NULL COMMENT '카페식별번호',
|
||||
`name` varchar(20) NOT NULL COMMENT '카페명',
|
||||
`address` varchar(100) NOT NULL COMMENT '카페 주소',
|
||||
`phone_number` varchar(11) NOT NULL COMMENT '카페 전화번호',
|
||||
`total_rate` float NOT NULL COMMENT '카페 종합 평가 점수',
|
||||
`description` varchar(255) COMMENT '카페 상세설명',
|
||||
`created_at` datetime NOT NULL COMMENT '카페 등록날짜',
|
||||
`created_by` varchar(10) NOT NULL COMMENT '카페 등록자',
|
||||
`updated_at` datetime COMMENT '카페 변경날짜',
|
||||
`updated_by` varchar(10) NOT NULL COMMENT '카페 변경자',
|
||||
PRIMARY KEY (`cafe_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
11
src/main/resources/db/migration/V002__Create_cafe_menu.sql
Normal file
11
src/main/resources/db/migration/V002__Create_cafe_menu.sql
Normal file
@@ -0,0 +1,11 @@
|
||||
CREATE TABLE `cafe_menu` (
|
||||
`menu_id` binary(16) NOT NULL COMMENT '카페 메뉴 식별번호',
|
||||
`name` varchar(50) NOT NULL COMMENT '카페 메뉴명',
|
||||
`price` int NOT NULL COMMENT '메뉴 가격',
|
||||
`created_date` datetime NOT NULL COMMENT '메뉴 등록날짜',
|
||||
`updated_date` datetime COMMENT '메뉴 수정날짜',
|
||||
`cafe_id` binary(16) NOT NULL COMMENT '연관된 카페식별번호',
|
||||
PRIMARY KEY (`menu_id`),
|
||||
KEY `cafe_id` (`cafe_id`),
|
||||
FOREIGN KEY (`cafe_id`) REFERENCES `cafe` (`cafe_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
10
src/main/resources/db/migration/V003__Create_cafe_image.sql
Normal file
10
src/main/resources/db/migration/V003__Create_cafe_image.sql
Normal file
@@ -0,0 +1,10 @@
|
||||
CREATE TABLE `cafe_image` (
|
||||
`cafe_img_id` binary(16) NOT NULL COMMENT '카페 이미지 식별번호',
|
||||
`img_url` varchar(255) NOT NULL COMMENT '이미지 경로',
|
||||
`created_date` datetime NOT NULL COMMENT '이미지 등록날짜',
|
||||
`updated_date` datetime COMMENT '이미지 수정날짜',
|
||||
`cafe_id` binary(16) NOT NULL COMMENT '연관된 카페식별번호',
|
||||
PRIMARY KEY (`cafe_img_id`),
|
||||
KEY `cafe_id` (`cafe_id`),
|
||||
FOREIGN KEY (`cafe_id`) REFERENCES `cafe` (`cafe_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
10
src/main/resources/db/migration/V004__Create_menu_option.sql
Normal file
10
src/main/resources/db/migration/V004__Create_menu_option.sql
Normal file
@@ -0,0 +1,10 @@
|
||||
CREATE TABLE `menu_option`(
|
||||
`option_id` binary(16) NOT NULL COMMENT '옵션 식별번호',
|
||||
`title`varchar(50) NOT NULL COMMENT '메뉴 옵션 이름',
|
||||
`created_date` datetime NOT NULL COMMENT '옵션 등록날짜',
|
||||
`updated_date` datetime COMMENT '옵션 수정날짜',
|
||||
`menu_id` binary(16) NOT NULL COMMENT '연관된 카페 메뉴 식별번호',
|
||||
PRIMARY KEY (`option_id`),
|
||||
KEY `menu_id` (`menu_id`),
|
||||
FOREIGN KEY (`menu_id`) REFERENCES `cafe_menu` (`menu_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
@@ -0,0 +1,11 @@
|
||||
CREATE TABLE `option_detail` (
|
||||
`option_detail_id` bigint NOT NULL COMMENT '옵션 상세 번호',
|
||||
`name` varchar(50) NOT NULL COMMENT '옵션 상세명',
|
||||
`extra` int NOT NULL COMMENT '옵션 추가 요금',
|
||||
`created_date` datetime NOT NULL COMMENT '옵션 상세 등록날짜',
|
||||
`updated_date` datetime COMMENT '옵션 상세 수정날짜',
|
||||
`option_id` binary(16) NOT NULL COMMENT '연관된 옵션 식별번호',
|
||||
PRIMARY KEY (`option_detail_id`),
|
||||
KEY `option_id` (`option_id`),
|
||||
FOREIGN KEY (`option_id`) REFERENCES `menu_option` (`option_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
11
src/main/resources/db/migration/V006__Create_user.sql
Normal file
11
src/main/resources/db/migration/V006__Create_user.sql
Normal file
@@ -0,0 +1,11 @@
|
||||
CREATE TABLE `user` (
|
||||
`user_id` binary(16) NOT NULL COMMENT '사용자 식별번호',
|
||||
`email`varchar(50) NOT NULL COMMENT '사용자 이메일',
|
||||
`password` varchar(100) NOT NULL COMMENT '계정 비밀번호',
|
||||
`address` varchar(100) NOT NULL COMMENT '사용자 주소',
|
||||
`phone_number` varchar(11) NOT NULL COMMENT '사용자 전화번호',
|
||||
`role` varchar(20) NOT NULL COMMENT '사용자 권한',
|
||||
`created_date` datetime NOT NULL COMMENT '사용자 등록날짜',
|
||||
`updated_date` datetime COMMENT '사용자 수정날짜',
|
||||
PRIMARY KEY (`user_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
15
src/main/resources/db/migration/V007__Create_review.sql
Normal file
15
src/main/resources/db/migration/V007__Create_review.sql
Normal file
@@ -0,0 +1,15 @@
|
||||
CREATE TABLE `review` (
|
||||
`review_id` binary(16) NOT NULL COMMENT '리뷰 식별번호',
|
||||
`content`varchar(255) NOT NULL COMMENT '리뷰 내용',
|
||||
`img_url` varchar(255) NOT NULL COMMENT '리뷰 첨부사진 주소',
|
||||
`rate` tinyint NOT NULL COMMENT '평가점수(0 ~ 5점)',
|
||||
`created_date` datetime NOT NULL COMMENT '리뷰 등록날짜',
|
||||
`updated_date` datetime COMMENT '리뷰 수정날짜',
|
||||
`user_id` binary(16) NOT NULL COMMENT '리뷰 작성한 사용자 식별번호',
|
||||
`cafe_id` binary(16) NOT NULL COMMENT '리뷰 대상 카페 식별번호',
|
||||
PRIMARY KEY (`review_id`),
|
||||
KEY `user_id` (`user_id`),
|
||||
FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`),
|
||||
KEY `cafe_id` (`cafe_id`),
|
||||
FOREIGN KEY (`cafe_id`) REFERENCES `cafe` (`cafe_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
13
src/main/resources/db/migration/V008__Create_cart.sql
Normal file
13
src/main/resources/db/migration/V008__Create_cart.sql
Normal file
@@ -0,0 +1,13 @@
|
||||
CREATE TABLE `cart` (
|
||||
`cart_id` binary(16) NOT NULL COMMENT '장바구니 식별번호',
|
||||
`cafe_name` varchar(20) NOT NULL COMMENT '장바구니에 담긴 카페 이름',
|
||||
`check_ordered` tinyint NOT NULL COMMENT '장바구니의 주문 여부',
|
||||
`total_price` int NOT NULL COMMENT '장바구니에 담긴 총 금액',
|
||||
`created_date` datetime NOT NULL COMMENT '장바구니 등록날짜',
|
||||
`updated_date` datetime COMMENT '장바구니 수정날짜',
|
||||
`cafe_id` binary(16) NOT NULL COMMENT '장바구니에 담긴 카페 식별번호',
|
||||
`user_id` binary(16) NOT NULL COMMENT '장바구니 주인 사용자 식별번호',
|
||||
PRIMARY KEY (`cart_id`),
|
||||
KEY `user_id` (`user_id`),
|
||||
FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
12
src/main/resources/db/migration/V009__Create_basket.sql
Normal file
12
src/main/resources/db/migration/V009__Create_basket.sql
Normal file
@@ -0,0 +1,12 @@
|
||||
CREATE TABLE `basket` (
|
||||
`basket_id` binary(16) NOT NULL COMMENT '장바구니 품목 식별번호',
|
||||
`menu_name` varchar(50) NOT NULL COMMENT '장바구니 품목 이름',
|
||||
`menu_count` int NOT NULL COMMENT '장바구니 품목 개수',
|
||||
`menu_price` int NOT NULL COMMENT '장바구니 품목 가격',
|
||||
`created_date` datetime NOT NULL COMMENT '장바구니 품목 등록날짜',
|
||||
`updated_date` datetime COMMENT '장바구니 품목 수정날짜',
|
||||
`cart_id` binary(16) NOT NULL COMMENT '해당 품목이 담긴 장바구니 식별번호',
|
||||
PRIMARY KEY (`basket_id`),
|
||||
KEY `cart_id` (`cart_id`),
|
||||
FOREIGN KEY (`cart_id`) REFERENCES `cart` (`cart_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
@@ -0,0 +1,11 @@
|
||||
CREATE TABLE `basket_option` (
|
||||
`basket_option_id` binary(16) NOT NULL COMMENT '품목 추가옵션 식별번호',
|
||||
`option_name`varchar(50) NOT NULL COMMENT '품목 추가옵션 내용',
|
||||
`option_extra` int NOT NULL COMMENT '품목 추가옵션 추가요금',
|
||||
`created_date` datetime NOT NULL COMMENT '품목 추가옵션 등록날짜',
|
||||
`updated_date` datetime COMMENT '품목 추가옵션 수정날짜',
|
||||
`basket_id` binary(16) NOT NULL COMMENT '추가옵션 대상 장바구니 품목 식별번호',
|
||||
PRIMARY KEY (`basket_option_id`),
|
||||
KEY `basket_id` (`basket_id`),
|
||||
FOREIGN KEY (`basket_id`) REFERENCES `basket` (`basket_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
14
src/main/resources/db/migration/V011__Create_menu_order.sql
Normal file
14
src/main/resources/db/migration/V011__Create_menu_order.sql
Normal file
@@ -0,0 +1,14 @@
|
||||
CREATE TABLE `menu_order` (
|
||||
`order_id` binary(16) NOT NULL COMMENT '주문 식별번호',
|
||||
`order_status` varchar(20) NOT NULL COMMENT '주문 상태',
|
||||
`request_message` varchar(255) NOT NULL COMMENT '주문 요청사항',
|
||||
`created_date` datetime NOT NULL COMMENT '주문 등록날짜',
|
||||
`updated_date` datetime COMMENT '주문 수정날짜',
|
||||
`cart_id` binary(16) NOT NULL COMMENT '주문된 카트 식별번호',
|
||||
`user_id` binary(16) NOT NULL COMMENT '주문한 사용자 식별번호',
|
||||
PRIMARY KEY (`order_id`),
|
||||
KEY `cart_id` (`cart_id`),
|
||||
FOREIGN KEY (`cart_id`) REFERENCES `cart` (`cart_id`),
|
||||
KEY `user_id` (`user_id`),
|
||||
FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
Reference in New Issue
Block a user