90 lines
5.8 KiB
Plaintext
90 lines
5.8 KiB
Plaintext
-- 1. 마스터 테이블: 옵션 그룹 (예: '집 유형', '창호 색상')
|
|
CREATE TABLE IF NOT EXISTS `g5_form_group` (
|
|
`fg_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '고유 ID',
|
|
`project_code` varchar(50) NOT NULL DEFAULT 'default' COMMENT '프로젝트 코드',
|
|
`site_code` varchar(50) NOT NULL DEFAULT 'default' COMMENT '사이트 코드',
|
|
`fg_code` varchar(50) NOT NULL COMMENT '그룹 코드 (프로그램에서 사용)',
|
|
`fg_order` int(11) NOT NULL DEFAULT '0' COMMENT '정렬 순서',
|
|
`is_used` tinyint(1) NOT NULL DEFAULT '1' COMMENT '사용 여부 (1:사용, 0:미사용)',
|
|
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '삭제 여부 (1:삭제, 0:정상)',
|
|
`created_at` datetime NOT NULL COMMENT '생성일',
|
|
`created_by` varchar(20) NOT NULL COMMENT '생성자',
|
|
`updated_at` datetime NOT NULL COMMENT '수정일',
|
|
`updated_by` varchar(20) NOT NULL COMMENT '수정자',
|
|
`fg_temp_1` varchar(255) DEFAULT NULL COMMENT '임시 필드 1',
|
|
`fg_temp_2` varchar(255) DEFAULT NULL COMMENT '임시 필드 2',
|
|
`fg_temp_3` varchar(255) DEFAULT NULL COMMENT '임시 필드 3',
|
|
`fg_temp_4` text DEFAULT NULL COMMENT '임시 필드 4',
|
|
`fg_temp_5` text DEFAULT NULL COMMENT '임시 필드 5',
|
|
`fg_extra_1` varchar(255) DEFAULT NULL COMMENT '여분 필드 1',
|
|
`fg_extra_2` varchar(255) DEFAULT NULL COMMENT '여분 필드 2',
|
|
`fg_extra_3` varchar(255) DEFAULT NULL COMMENT '여분 필드 3',
|
|
`fg_extra_4` text DEFAULT NULL COMMENT '여분 필드 4',
|
|
`fg_extra_5` text DEFAULT NULL COMMENT '여분 필드 5',
|
|
PRIMARY KEY (`fg_id`),
|
|
UNIQUE KEY `project_site_fg_code` (`project_code`,`site_code`,`fg_code`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='[솔루션] 폼 옵션 그룹';
|
|
|
|
-- 2. 디테일 테이블: 그룹에 속한 개별 옵션
|
|
CREATE TABLE IF NOT EXISTS `g5_form_option` (
|
|
`fo_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '고유 ID',
|
|
`fg_id` int(11) NOT NULL COMMENT '그룹 ID (g5_form_group.fg_id)',
|
|
`fo_key` varchar(255) NOT NULL COMMENT 'DB에 저장될 값 (고유값)',
|
|
`fo_order` int(11) NOT NULL DEFAULT '0' COMMENT '정렬 순서',
|
|
`is_default` tinyint(1) NOT NULL DEFAULT '0' COMMENT '기본 선택 여부 (1:기본값)',
|
|
`is_used` tinyint(1) NOT NULL DEFAULT '1' COMMENT '사용 여부 (1:사용, 0:미사용)',
|
|
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '삭제 여부 (1:삭제, 0:정상)',
|
|
`created_at` datetime NOT NULL COMMENT '생성일',
|
|
`created_by` varchar(20) NOT NULL COMMENT '생성자',
|
|
`updated_at` datetime NOT NULL COMMENT '수정일',
|
|
`updated_by` varchar(20) NOT NULL COMMENT '수정자',
|
|
`fo_temp_1` varchar(255) DEFAULT NULL COMMENT '임시 필드 1',
|
|
`fo_temp_2` varchar(255) DEFAULT NULL COMMENT '임시 필드 2',
|
|
`fo_temp_3` varchar(255) DEFAULT NULL COMMENT '임시 필드 3',
|
|
`fo_temp_4` text DEFAULT NULL COMMENT '임시 필드 4',
|
|
`fo_temp_5` text DEFAULT NULL COMMENT '임시 필드 5',
|
|
`fo_extra_1` varchar(255) DEFAULT NULL COMMENT '여분 필드 1',
|
|
`fo_extra_2` varchar(255) DEFAULT NULL COMMENT '여분 필드 2',
|
|
`fo_extra_3` varchar(255) DEFAULT NULL COMMENT '여분 필드 3',
|
|
`fo_extra_4` text DEFAULT NULL COMMENT '여분 필드 4',
|
|
`fo_extra_5` text DEFAULT NULL COMMENT '여분 필드 5',
|
|
PRIMARY KEY (`fo_id`),
|
|
KEY `fg_id` (`fg_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='[솔루션] 폼 옵션 항목';
|
|
|
|
-- 3. [통합] 서브 디테일 테이블: 그룹과 옵션의 다국어 이름/설명
|
|
CREATE TABLE IF NOT EXISTS `g5_common_lang` (
|
|
`cl_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '고유 ID',
|
|
`target_table` varchar(50) NOT NULL COMMENT '대상 테이블명 (예: g5_form_group)',
|
|
`target_id` int(11) NOT NULL COMMENT '대상 레코드 ID',
|
|
`lang_code` varchar(10) NOT NULL COMMENT '언어 코드 (ko, en, ja)',
|
|
`cl_name` varchar(255) NOT NULL COMMENT '화면에 표시될 이름/값',
|
|
`cl_description` text COMMENT '부가 설명 (툴팁 등)',
|
|
`updated_at` datetime NOT NULL COMMENT '수정일',
|
|
`updated_by` varchar(20) NOT NULL COMMENT '수정자',
|
|
`cl_temp_1` varchar(255) DEFAULT NULL COMMENT '임시 필드 1',
|
|
`cl_temp_2` varchar(255) DEFAULT NULL COMMENT '임시 필드 2',
|
|
`cl_temp_3` varchar(255) DEFAULT NULL COMMENT '임시 필드 3',
|
|
`cl_temp_4` text DEFAULT NULL COMMENT '임시 필드 4',
|
|
`cl_temp_5` text DEFAULT NULL COMMENT '임시 필드 5',
|
|
`cl_extra_1` varchar(255) DEFAULT NULL COMMENT '여분 필드 1',
|
|
`cl_extra_2` varchar(255) DEFAULT NULL COMMENT '여분 필드 2',
|
|
`cl_extra_3` varchar(255) DEFAULT NULL COMMENT '여분 필드 3',
|
|
`cl_extra_4` text DEFAULT NULL COMMENT '여분 필드 4',
|
|
`cl_extra_5` text DEFAULT NULL COMMENT '여분 필드 5',
|
|
PRIMARY KEY (`cl_id`),
|
|
UNIQUE KEY `target_lang` (`target_table`,`target_id`,`lang_code`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='[솔루션] 공용 다국어 정보';
|
|
|
|
-- 4. 변경 이력 테이블
|
|
CREATE TABLE IF NOT EXISTS `g5_form_option_history` (
|
|
`fh_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '고유 ID',
|
|
`table_name` varchar(50) NOT NULL COMMENT '변경된 테이블명',
|
|
`record_id` int(11) NOT NULL COMMENT '변경된 레코드 ID',
|
|
`action_type` varchar(10) NOT NULL COMMENT '작업 종류 (INSERT, UPDATE, DELETE)',
|
|
`change_data` longtext COMMENT '변경된 데이터 (JSON)',
|
|
`changed_at` datetime NOT NULL COMMENT '변경일',
|
|
`changed_by` varchar(20) NOT NULL COMMENT '변경자',
|
|
PRIMARY KEY (`fh_id`),
|
|
KEY `table_name_record_id` (`table_name`,`record_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='[솔루션] 폼 옵션 변경 이력'; |