-- ============================================================= -- OA 日程管理 —— 中国法定节假日/调休日表 -- -- 表结构变更一律以 SQL 文件形式放在 docs/sql/ 下由人工执行, -- 代码中不做自动建表。本脚本仅新建表,不改动任何既有数据。 -- -- 数据说明: -- 本表全局共享(不按租户隔离),只存两类无法用"星期几"推算出来的日期: -- type = 1 休假日(法定节假日放假,含调休连休的日子) -- type = 0 工作日(调休上班,即周末补班) -- 普通周六/周日不入库,由前端按星期直接判定。 -- -- 表本身可以为空:后端接口在查不到数据时会调用外网接口拉取并写入本表, -- 外网不可用时回落到代码内置的 2024-2026 年节假日数据(go/pkg/holiday/fallback.go), -- 因此不执行本脚本之外的任何数据预置也能正常使用。 -- -- 注意:不显式指定 COLLATE,沿用数据库默认排序规则,避免与既有表在 -- JOIN 比较字符串时报 Illegal mix of collations。 -- ============================================================= SET NAMES utf8mb4; CREATE TABLE IF NOT EXISTS `yz_backend_oa_holiday` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, `date` CHAR(10) NOT NULL DEFAULT '' COMMENT '日期 YYYY-MM-DD', `name` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '节日名称,如 国庆节 / 春节', `type` TINYINT NOT NULL DEFAULT 0 COMMENT '0工作日(调休补班) 1休假日(法定节假日)', `year` INT NOT NULL DEFAULT 0 COMMENT '所属年份,便于按年清理与查询', `wage` TINYINT NOT NULL DEFAULT 1 COMMENT '薪资倍数:1普通 2双薪 3三薪', `source` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '数据来源:timor / holiday-cn / builtin / manual', `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, `update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `uk_date` (`date`), KEY `idx_year` (`year`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='中国法定节假日/调休日(全局共享)';