From 13fdd0c9439221762565920ef13db02582bc742b Mon Sep 17 00:00:00 2001 From: jay-so Date: Tue, 26 Mar 2024 23:44:35 +0900 Subject: [PATCH] =?UTF-8?q?build:=20=ED=94=84=EB=A1=9C=EC=A0=9D=ED=8A=B8?= =?UTF-8?q?=20FlyWay=20SQL=EB=AC=B8=20V1.0=20=EB=B2=84=EC=A0=84=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/db/migration/V1.0_Init.sql | 222 ++++++++++++++++++ 1 file changed, 222 insertions(+) create mode 100644 src/main/resources/db/migration/V1.0_Init.sql diff --git a/src/main/resources/db/migration/V1.0_Init.sql b/src/main/resources/db/migration/V1.0_Init.sql new file mode 100644 index 0000000..a4c5381 --- /dev/null +++ b/src/main/resources/db/migration/V1.0_Init.sql @@ -0,0 +1,222 @@ +CREATE TABLE `users` +( + `id` Long NOT NULL, + `nickname` varchar(100) NOT NULL, + `oauth_id` varchar(400) NULL, + `oauth_provider` varchar(100) NOT NULL, + `created_at` DateTime NOT NULL, + `updated_at` DateTime NOT NULL +); + +CREATE TABLE `place` +( + `id` Long NOT NULL, + `user_id` Long NULL, + `address_depth1_id` Long NOT NULL, + `address_depth2_id` Long NOT NULL, + `point` POINT NOT NULL, + `name` varchar(255) NOT NULL, + `image` varchar(400) NOT NULL, + `address_detail` varchar(255) NOT NULL, + `recommend_count` INT NOT NULL, + `bookmark_count` INT NOT NULL, + `created_at` DateTime NOT NULL, + `updated_at` DateTime NOT NULL +); + +CREATE TABLE `address_depth1` +( + `id` Long NOT NULL, + `name` varchar(100) NOT NULL, + `created_at` DateTime NOT NULL, + `updated_at` DateTime NOT NULL +); + +CREATE TABLE `recommendation` +( + `id` Long NOT NULL, + `user_id` Long NOT NULL, + `place_id` Long NOT NULL, + `status` Boolean NOT NULL, + `created_at` DateTime NOT NULL, + `updated_at` DateTime NOT NULL +); + +CREATE TABLE `bookmark` +( + `id` Long NOT NULL, + `place_id` Long NOT NULL, + `user_id` Long NOT NULL, + `status` Boolean NOT NULL, + `created_at` DateTime NOT NULL, + `updated_at` DateTime NOT NULL +); + +CREATE TABLE `review` +( + `id` Long NOT NULL, + `place_id` Long NOT NULL, + `user_id` Long NOT NULL, + `review_date` DateTime NOT NULL, + `place_status` varchar(100) NOT NULL, + `image` varchar(400) NULL, + `created_at` DateTime NOT NULL, + `updated_at` DateTime NOT NULL +); + +CREATE TABLE `place_tag` +( + `id` Long NOT NULL, + `place_id` Long NOT NULL, + `name` varchar(100) NOT NULL, + `created_at` DateTime NOT NULL, + `updated_at` DateTime NOT NULL +); + +CREATE TABLE `address_depth2` +( + `id` Long NOT NULL, + `address_depth1_id` Long NOT NULL, + `name` varchar(100) NOT NULL, + `created_at` DateTime NOT NULL, + `updated_at` DateTime NOT NULL +); + +ALTER TABLE `users` + ADD CONSTRAINT `PK_USERS` PRIMARY KEY ( + `id` + ); + +ALTER TABLE `place` + ADD CONSTRAINT `PK_PLACE` PRIMARY KEY ( + `id`, + `user_id`, + `address_depth1_id`, + `address_depth2_id` + ); + +ALTER TABLE `address_depth1` + ADD CONSTRAINT `PK_ADDRESS_DEPTH1` PRIMARY KEY ( + `id` + ); + +ALTER TABLE `recommendation` + ADD CONSTRAINT `PK_RECOMMENDATION` PRIMARY KEY ( + `id`, + `user_id`, + `place_id` + ); + +ALTER TABLE `bookmark` + ADD CONSTRAINT `PK_BOOKMARK` PRIMARY KEY ( + `id`, + `place_id`, + `user_id` + ); + +ALTER TABLE `review` + ADD CONSTRAINT `PK_REVIEW` PRIMARY KEY ( + `id`, + `place_id`, + `user_id` + ); + +ALTER TABLE `place_tag` + ADD CONSTRAINT `PK_PLACE_TAG` PRIMARY KEY ( + `id`, + `place_id` + ); + +ALTER TABLE `address_depth2` + ADD CONSTRAINT `PK_ADDRESS_DEPTH2` PRIMARY KEY ( + `id`, + `address_depth1_id` + ); + +ALTER TABLE `place` + ADD CONSTRAINT `FK_users_TO_place_1` FOREIGN KEY ( + `user_id` + ) + REFERENCES `users` ( + `id` + ); + +ALTER TABLE `place` + ADD CONSTRAINT `FK_address_depth2_TO_place_1` FOREIGN KEY ( + `address_depth1_id` + ) + REFERENCES `address_depth2` ( + `address_depth1_id` + ); + +ALTER TABLE `place` + ADD CONSTRAINT `FK_address_depth2_TO_place_2` FOREIGN KEY ( + `address_depth2_id` + ) + REFERENCES `address_depth2` ( + `id` + ); + +ALTER TABLE `recommendation` + ADD CONSTRAINT `FK_users_TO_recommendation_1` FOREIGN KEY ( + `user_id` + ) + REFERENCES `users` ( + `id` + ); + +ALTER TABLE `recommendation` + ADD CONSTRAINT `FK_place_TO_recommendation_1` FOREIGN KEY ( + `place_id` + ) + REFERENCES `place` ( + `id` + ); + +ALTER TABLE `bookmark` + ADD CONSTRAINT `FK_place_TO_bookmark_1` FOREIGN KEY ( + `place_id` + ) + REFERENCES `place` ( + `id` + ); + +ALTER TABLE `bookmark` + ADD CONSTRAINT `FK_users_TO_bookmark_1` FOREIGN KEY ( + `user_id` + ) + REFERENCES `users` ( + `id` + ); + +ALTER TABLE `review` + ADD CONSTRAINT `FK_place_TO_review_1` FOREIGN KEY ( + `place_id` + ) + REFERENCES `place` ( + `id` + ); + +ALTER TABLE `review` + ADD CONSTRAINT `FK_users_TO_review_1` FOREIGN KEY ( + `user_id` + ) + REFERENCES `users` ( + `id` + ); + +ALTER TABLE `place_tag` + ADD CONSTRAINT `FK_place_TO_place_tag_1` FOREIGN KEY ( + `place_id` + ) + REFERENCES `place` ( + `id` + ); + +ALTER TABLE `address_depth2` + ADD CONSTRAINT `FK_address_depth1_TO_address_depth2_1` FOREIGN KEY ( + `address_depth1_id` + ) + REFERENCES `address_depth1` ( + `id` + );