CREATE TABLE `m_employee_account` (
`account_id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '口座ID',
`emp_id` bigint unsigned NOT NULL COMMENT '従業員ID',
`bank_code` char(4) COLLATE utf8mb4_ja_0900_as_cs_ks NOT NULL COMMENT '銀行コード',
`branch_code` char(3) COLLATE utf8mb4_ja_0900_as_cs_ks NOT NULL COMMENT '支店コード',
`account_type` enum('FUTSU','TOUZA','SAVINGS','OTHER') COLLATE utf8mb4_ja_0900_as_cs_ks NOT NULL DEFAULT 'FUTSU' COMMENT '口座種別',
`account_no` char(7) COLLATE utf8mb4_ja_0900_as_cs_ks NOT NULL COMMENT '口座番号 (7桁)',
`account_name` varchar(100) COLLATE utf8mb4_ja_0900_as_cs_ks NOT NULL COMMENT '口座名義 (カナ推奨)',
`currency_code` char(3) COLLATE utf8mb4_ja_0900_as_cs_ks NOT NULL DEFAULT 'JPY' COMMENT '通貨 (ISO 4217)',
`purpose` enum('EXPENSE','PAYROLL','BONUS','OTHER') COLLATE utf8mb4_ja_0900_as_cs_ks NOT NULL DEFAULT 'EXPENSE' COMMENT '用途区分',
`priority` tinyint unsigned NOT NULL DEFAULT '1' COMMENT '同一用途内での優先順位 (1=最優先)',
`valid_from` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '有効開始日時',
`valid_to` datetime NOT NULL DEFAULT '9999-12-31 23:59:59' COMMENT '有効終了日時',
`deleted_at` datetime DEFAULT NULL COMMENT '論理削除',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '登録日時',
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新日時',
`version` int unsigned NOT NULL DEFAULT '1' COMMENT 'バージョン',
PRIMARY KEY (`account_id`),
UNIQUE KEY `emp_id` (`emp_id`,`purpose`,`priority`,`deleted_at`),
KEY `emp_id_2` (`emp_id`,`purpose`,`priority`),
KEY `bank_code` (`bank_code`,`branch_code`),
CONSTRAINT `m_employee_account_ibfk_1` FOREIGN KEY (`emp_id`) REFERENCES `m_employee` (`emp_id`)
) ENGINE=InnoDB AUTO_INCREMENT=[Redacted by tbls] DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_ja_0900_as_cs_ks COMMENT='従業員振込口座マスタ'