37 lines
2.2 KiB
SQL
37 lines
2.2 KiB
SQL
-- =============================================================
|
|
-- 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='中国法定节假日/调休日(全局共享)';
|