first commit 2
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
-- 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='[솔루션] 폼 옵션 변경 이력';
|
||||
Reference in New Issue
Block a user