[#11] modify: DB 모든 테이블 primary key 이름 변경
- 전체적인 flyway migration 파일 수정 - primary key, foreign key 수정을 위한 ALTER 쿼리 내용 추가
This commit is contained in:
@@ -14,8 +14,8 @@ spring:
|
||||
show-sql: false
|
||||
flyway:
|
||||
baseline-on-migrate: true
|
||||
baseline-version: 0
|
||||
locations: classpath:db/migration,classpath:db/seed
|
||||
# baseline-version: 0
|
||||
|
||||
logging:
|
||||
level:
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
DROP TABLE IF EXISTS `option_detail`;
|
||||
DROP TABLE IF EXISTS `menu_option`;
|
||||
DROP TABLE IF EXISTS `cafe_image`;
|
||||
DROP TABLE IF EXISTS `cafe_menu`;
|
||||
DROP TABLE IF EXISTS `cafe`;
|
||||
@@ -1,5 +1,3 @@
|
||||
DROP TABLE IF EXISTS `cafe`;
|
||||
|
||||
CREATE TABLE `cafe` (
|
||||
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '카페 ID',
|
||||
`name` varchar(20) NOT NULL COMMENT '카페명',
|
||||
@@ -1,5 +1,3 @@
|
||||
DROP TABLE IF EXISTS `cafe_menu`;
|
||||
|
||||
CREATE TABLE `cafe_menu` (
|
||||
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '카페 메뉴 ID',
|
||||
`name` varchar(50) NOT NULL COMMENT '카페 메뉴명',
|
||||
@@ -1,5 +1,3 @@
|
||||
DROP TABLE IF EXISTS `cafe_image`;
|
||||
|
||||
CREATE TABLE `cafe_image` (
|
||||
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '카페 이미지 ID',
|
||||
`img_url` varchar(255) NOT NULL COMMENT '이미지 경로',
|
||||
@@ -1,5 +1,3 @@
|
||||
DROP TABLE IF EXISTS `menu_option`;
|
||||
|
||||
CREATE TABLE `menu_option`(
|
||||
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '옵션 ID',
|
||||
`title` varchar(50) NOT NULL COMMENT '메뉴 옵션 이름',
|
||||
@@ -1,5 +1,3 @@
|
||||
DROP TABLE IF EXISTS `option_detail`;
|
||||
|
||||
CREATE TABLE `option_detail` (
|
||||
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '옵션 상세 ID',
|
||||
`name` varchar(50) NOT NULL COMMENT '옵션 상세명',
|
||||
@@ -0,0 +1,67 @@
|
||||
-- #### Drop all foreign keys
|
||||
ALTER TABLE `cafe_menu` DROP FOREIGN KEY `cafe_menu_ibfk_1`;
|
||||
ALTER TABLE `cafe_menu` DROP INDEX `cafe_id`;
|
||||
|
||||
ALTER TABLE `cafe_image` DROP FOREIGN KEY `cafe_image_ibfk_1`;
|
||||
ALTER TABLE `cafe_image` DROP INDEX `cafe_id`;
|
||||
|
||||
ALTER TABLE `menu_option` DROP FOREIGN KEY `menu_option_ibfk_1`;
|
||||
ALTER TABLE `menu_option` DROP INDEX `menu_id`;
|
||||
|
||||
ALTER TABLE `option_detail` DROP FOREIGN KEY `option_detail_ibfk_1`;
|
||||
ALTER TABLE `option_detail` DROP INDEX `option_id`;
|
||||
|
||||
-- #### Drop all primary keys & Add new primary keys
|
||||
-- 1. delete auto_increment
|
||||
ALTER TABLE `cafe` MODIFY id bigint NOT NULL;
|
||||
ALTER TABLE `cafe_menu` MODIFY id bigint NOT NULL;
|
||||
ALTER TABLE `cafe_image` MODIFY id bigint NOT NULL;
|
||||
ALTER TABLE `menu_option` MODIFY id bigint NOT NULL;
|
||||
ALTER TABLE `option_detail` MODIFY id bigint NOT NULL;
|
||||
|
||||
-- 2. drop primary key
|
||||
ALTER TABLE `cafe` DROP PRIMARY KEY;
|
||||
ALTER TABLE `cafe_menu` DROP PRIMARY KEY;
|
||||
ALTER TABLE `cafe_image` DROP PRIMARY KEY;
|
||||
ALTER TABLE `menu_option` DROP PRIMARY KEY;
|
||||
ALTER TABLE `option_detail` DROP PRIMARY KEY;
|
||||
|
||||
-- 3. change 'id' column name and modify to primary key
|
||||
ALTER TABLE `cafe`
|
||||
CHANGE `id` `cafe_id` bigint unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '카페 ID';
|
||||
ALTER TABLE `cafe_menu`
|
||||
CHANGE `id` `cafe_menu_id` bigint unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '카페 메뉴 ID';
|
||||
ALTER TABLE `cafe_image`
|
||||
CHANGE `id` `cafe_image_id` bigint unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '카페 이미지 ID';
|
||||
ALTER TABLE `menu_option`
|
||||
CHANGE `id` `menu_option_id` bigint unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '옵션 ID';
|
||||
ALTER TABLE `option_detail`
|
||||
CHANGE `id` `option_detail_id` bigint unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '옵션 상세 ID';
|
||||
|
||||
-- #### RENAME fk column
|
||||
ALTER TABLE `menu_option`
|
||||
CHANGE `menu_id` `cafe_menu_id` bigint unsigned NOT NULL COMMENT '연관된 카페 메뉴 ID';
|
||||
ALTER TABLE `option_detail`
|
||||
CHANGE `option_id` `menu_option_id` bigint unsigned NOT NULL COMMENT '연관된 옵션 ID';
|
||||
|
||||
-- #### Add foreign keys
|
||||
ALTER TABLE `cafe_menu`
|
||||
ADD CONSTRAINT `cafemenu_cafeid_fk`
|
||||
FOREIGN KEY (`cafe_id`)
|
||||
REFERENCES `cafe` (`cafe_id`);
|
||||
|
||||
ALTER TABLE `cafe_image`
|
||||
ADD CONSTRAINT `cafeimage_cafeid_fk`
|
||||
FOREIGN KEY (`cafe_id`)
|
||||
REFERENCES `cafe` (`cafe_id`);
|
||||
|
||||
ALTER TABLE `menu_option`
|
||||
ADD CONSTRAINT `menuoption_cafemenuid_fk`
|
||||
FOREIGN KEY (`cafe_menu_id`)
|
||||
REFERENCES `cafe_menu` (`cafe_menu_id`);
|
||||
|
||||
ALTER TABLE `option_detail`
|
||||
ADD CONSTRAINT `optiondetail_menuoptionid_fk`
|
||||
FOREIGN KEY (`menu_option_id`)
|
||||
REFERENCES `menu_option` (`menu_option_id`);
|
||||
|
||||
@@ -11,7 +11,7 @@ BEGIN
|
||||
SET count_cafe = (SELECT COUNT(*) FROM `cafe`);
|
||||
WHILE(i <= count_cafe) DO
|
||||
SET j = 1;
|
||||
SET var_cafe_id = (SELECT id FROM `cafe` LIMIT i, 1);
|
||||
SET var_cafe_id = (SELECT cafe_id FROM `cafe` LIMIT i, 1);
|
||||
WHILE(j <= 3) DO
|
||||
INSERT IGNORE INTO `cafe_image` (img_url, created_at, created_by, updated_at, updated_by, cafe_id)
|
||||
VALUES (CONCAT('test_img_url_', idx_img), now(), 'system', null, null, var_cafe_id);
|
||||
|
||||
@@ -8,7 +8,7 @@ BEGIN
|
||||
DECLARE var_cafe_id binary(16);
|
||||
WHILE(i <= 4) DO
|
||||
SET j = 1;
|
||||
SET var_cafe_id = (SELECT id FROM `cafe` LIMIT i, 1);
|
||||
SET var_cafe_id = (SELECT cafe_id FROM `cafe` LIMIT i, 1);
|
||||
WHILE(j <= 10) DO
|
||||
INSERT IGNORE INTO `cafe_menu` (name, price, created_at, created_by, updated_at, updated_by, cafe_id)
|
||||
VALUES (CONCAT('커피', j), FLOOR(RAND() * 10 + 1) * 1000, now(), 'system', null, null, var_cafe_id);
|
||||
|
||||
Reference in New Issue
Block a user