Merge pull request #12 from beaniejoy/feature/11
DB tables primary key 이름 수정
This commit is contained in:
@@ -14,6 +14,7 @@ class Cafe protected constructor(
|
||||
) : BaseTimeEntity() {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "cafe_id", nullable = false)
|
||||
val id: Long = 0L
|
||||
|
||||
@Column(name = "name", nullable = false)
|
||||
|
||||
@@ -8,6 +8,7 @@ import javax.persistence.*
|
||||
class CafeImage(
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "cafe_image_id", nullable = false)
|
||||
val id: Long,
|
||||
|
||||
@Column(name = "img_url", nullable = false)
|
||||
|
||||
@@ -13,6 +13,7 @@ class CafeMenu protected constructor(
|
||||
) : BaseTimeEntity() {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "cafe_menu_id", nullable = false)
|
||||
val id: Long = 0L
|
||||
|
||||
@Column(name = "name", nullable = false)
|
||||
|
||||
@@ -11,17 +11,18 @@ class MenuOption protected constructor(
|
||||
) : BaseTimeEntity() {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "menu_option_id", nullable = false)
|
||||
val id: Long = 0L
|
||||
|
||||
@Column(name = "title", nullable = false)
|
||||
val title: String = title
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "menu_id", nullable = false)
|
||||
@JoinColumn(name = "cafe_menu_id", nullable = false)
|
||||
var cafeMenu: CafeMenu? = null
|
||||
protected set
|
||||
|
||||
@OneToMany(mappedBy = "menuOption", fetch = FetchType.EAGER, cascade = [CascadeType.ALL])
|
||||
@OneToMany(mappedBy = "menuOption", fetch = FetchType.LAZY, cascade = [CascadeType.ALL])
|
||||
val optionDetailList: MutableList<OptionDetail> = arrayListOf()
|
||||
|
||||
companion object {
|
||||
|
||||
@@ -12,6 +12,7 @@ class OptionDetail protected constructor(
|
||||
) : BaseTimeEntity() {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "option_detail_id", nullable = false)
|
||||
val id: Long = 0L
|
||||
|
||||
@Column(name = "name", nullable = false)
|
||||
@@ -20,8 +21,8 @@ class OptionDetail protected constructor(
|
||||
@Column(name = "extra_price", nullable = false)
|
||||
val extraPrice: BigDecimal = extraPrice
|
||||
|
||||
@ManyToOne(fetch = FetchType.EAGER)
|
||||
@JoinColumn(name = "option_id", nullable = false)
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "menu_option_id", nullable = false)
|
||||
var menuOption: MenuOption? = null
|
||||
protected set
|
||||
|
||||
|
||||
@@ -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