diff --git a/flyway/db-migration/main/V001__Create_cafe.sql b/flyway/db-migration/main/V001__Create_cafe.sql new file mode 100644 index 0000000..67715f2 --- /dev/null +++ b/flyway/db-migration/main/V001__Create_cafe.sql @@ -0,0 +1,11 @@ +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_date` datetime NOT NULL COMMENT '카페 등록날짜', + `updated_date` datetime COMMENT '카페 수정날짜', + PRIMARY KEY (`cafe_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; \ No newline at end of file diff --git a/flyway/db-migration/main/V002__Create_cafe_menu.sql b/flyway/db-migration/main/V002__Create_cafe_menu.sql new file mode 100644 index 0000000..26ca8b0 --- /dev/null +++ b/flyway/db-migration/main/V002__Create_cafe_menu.sql @@ -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; \ No newline at end of file diff --git a/flyway/db-migration/main/V003__Create_cafe_image.sql b/flyway/db-migration/main/V003__Create_cafe_image.sql new file mode 100644 index 0000000..953db04 --- /dev/null +++ b/flyway/db-migration/main/V003__Create_cafe_image.sql @@ -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; \ No newline at end of file diff --git a/flyway/db-migration/main/V004__Create_menu_option.sql b/flyway/db-migration/main/V004__Create_menu_option.sql new file mode 100644 index 0000000..2ae7088 --- /dev/null +++ b/flyway/db-migration/main/V004__Create_menu_option.sql @@ -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; \ No newline at end of file diff --git a/flyway/db-migration/main/V005__Create_option_detail.sql b/flyway/db-migration/main/V005__Create_option_detail.sql new file mode 100644 index 0000000..3e7a577 --- /dev/null +++ b/flyway/db-migration/main/V005__Create_option_detail.sql @@ -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; \ No newline at end of file diff --git a/flyway/db-migration/main/V006__Create_user.sql b/flyway/db-migration/main/V006__Create_user.sql new file mode 100644 index 0000000..c90b186 --- /dev/null +++ b/flyway/db-migration/main/V006__Create_user.sql @@ -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; \ No newline at end of file diff --git a/flyway/db-migration/main/V007__Create_review.sql b/flyway/db-migration/main/V007__Create_review.sql new file mode 100644 index 0000000..b68f6d3 --- /dev/null +++ b/flyway/db-migration/main/V007__Create_review.sql @@ -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; \ No newline at end of file diff --git a/flyway/db-migration/main/V008__Create_cart.sql b/flyway/db-migration/main/V008__Create_cart.sql new file mode 100644 index 0000000..65f2c46 --- /dev/null +++ b/flyway/db-migration/main/V008__Create_cart.sql @@ -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; \ No newline at end of file diff --git a/flyway/db-migration/main/V009__Create_basket.sql b/flyway/db-migration/main/V009__Create_basket.sql new file mode 100644 index 0000000..58e20e0 --- /dev/null +++ b/flyway/db-migration/main/V009__Create_basket.sql @@ -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; \ No newline at end of file diff --git a/flyway/db-migration/main/V010__Create_basket_option.sql b/flyway/db-migration/main/V010__Create_basket_option.sql new file mode 100644 index 0000000..3369b57 --- /dev/null +++ b/flyway/db-migration/main/V010__Create_basket_option.sql @@ -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; \ No newline at end of file diff --git a/flyway/db-migration/main/V011__Create_menu_order.sql b/flyway/db-migration/main/V011__Create_menu_order.sql new file mode 100644 index 0000000..ef18fc7 --- /dev/null +++ b/flyway/db-migration/main/V011__Create_menu_order.sql @@ -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; \ No newline at end of file diff --git a/flyway/db-migration/seed/R__Seed_cafe.sql b/flyway/db-migration/seed/R__Seed_cafe.sql new file mode 100644 index 0000000..f41600a --- /dev/null +++ b/flyway/db-migration/seed/R__Seed_cafe.sql @@ -0,0 +1,20 @@ +INSERT IGNORE INTO `cafe` (cafe_id, name, address, phone_number, total_rate, description, created_date) +VALUES (unhex(replace(uuid(), '-', '')), '비니카페', '서울시 동대문구 답십리동', '01023151111', 3.24, '언제나 상쾌한 비니카페', now()); + +INSERT IGNORE INTO `cafe` (cafe_id, name, address, phone_number, total_rate, description, created_date) +VALUES (unhex(replace(uuid(), '-', '')), '비니카페', '서울시 동대문구 답십리동', '01023151111', 3.24, '언제나 상쾌한 비니카페', now()); + +INSERT IGNORE INTO `cafe` (cafe_id, name, address, phone_number, total_rate, description, created_date) +VALUES (unhex(replace(uuid(), '-', '')), '비니카페', '서울시 동대문구 답십리동', '01023151111', 3.24, '언제나 상쾌한 비니카페', now()); + +INSERT IGNORE INTO `cafe` (cafe_id, name, address, phone_number, total_rate, description, created_date) +VALUES (unhex(replace(uuid(), '-', '')), '비니카페', '서울시 동대문구 답십리동', '01023151111', 3.24, '언제나 상쾌한 비니카페', now()); + +INSERT IGNORE INTO `cafe` (cafe_id, name, address, phone_number, total_rate, description, created_date) +VALUES (unhex(replace(uuid(), '-', '')), '비니카페', '서울시 동대문구 답십리동', '01023151111', 3.24, '언제나 상쾌한 비니카페', now()); + +INSERT IGNORE INTO `cafe` (cafe_id, name, address, phone_number, total_rate, description, created_date) +VALUES (unhex(replace(uuid(), '-', '')), '비니카페', '서울시 동대문구 답십리동', '01023151111', 3.24, '언제나 상쾌한 비니카페', now()); + +INSERT IGNORE INTO `cafe` (cafe_id, name, address, phone_number, total_rate, description, created_date) +VALUES (unhex(replace(uuid(), '-', '')), '비니카페', '서울시 동대문구 답십리동', '01023151111', 3.24, '언제나 상쾌한 비니카페', now()); \ No newline at end of file