| ¶Ô±ÈÐÂÎļþ |
| | |
| | | -- ===================================================== |
| | | -- HRM èå¤è忥é
ç½®ï¼è¡¥é½ãæ¶é´æ®µãç»æï¼start_date / end_dateï¼ |
| | | -- |
| | | -- èæ¯ï¼ |
| | | -- 2026-09-30 çæäº¤ a797b580 å°ãè忥é
ç½®ãç±åæ¥(date)æ¹ä¸ºæ¶é´æ®µ(startDate/endDate)ï¼ |
| | | -- DO/VO/Mapper å·²æ start_dateãend_date æ¥è¯¢ï¼ä½æ°æ®åºè¡¨ç»ææ²¡æåæ¥ã |
| | | -- 2026-10-17 æ°å¢ç GET /hrm/attendance/record/my-status ç¬¬ä¸æ¬¡èµ°å°è忥æ¥è¯¢ï¼ |
| | | -- æ¥ Unknown column 'start_date' in 'field list'ã |
| | | -- |
| | | -- å
å®¹ï¼ |
| | | -- â hrm_attendance_holiday æ°å¢ start_dateãend_date |
| | | -- â¡ åéæ°æ®æ date åå¡«ï¼date åä¿çå
¼å®¹ï¼ä¿åæ¶ä»åå
¥ start_dateï¼ |
| | | -- ⢠åå¡«åæ¶ç´§ä¸º NOT NULLï¼é¿å
åç»åå
¥åæ¡æ¶é´æ®µ |
| | | -- |
| | | -- å¹çï¼å¯é夿§è¡ï¼MySQL 䏿¯æ ADD COLUMN IF NOT EXISTSï¼å
æ¥ information_schemaï¼ |
| | | -- æ§è¡æ¹å¼ï¼ |
| | | -- mysql -h<host> -P<port> -u<user> -p --default-character-set=utf8mb4 <db> < docs/sql/hrm_attendance_holiday_date_range_20261017.sql |
| | | -- ===================================================== |
| | | |
| | | SET NAMES utf8mb4; |
| | | |
| | | -- ------------------------------------------------------------ |
| | | -- â æ°å¢ start_date |
| | | -- ------------------------------------------------------------ |
| | | SET @col_exists = (SELECT COUNT(*) FROM information_schema.columns |
| | | WHERE table_schema = DATABASE() |
| | | AND table_name = 'hrm_attendance_holiday' |
| | | AND column_name = 'start_date'); |
| | | SET @ddl = IF(@col_exists = 0, |
| | | 'ALTER TABLE `hrm_attendance_holiday` ADD COLUMN `start_date` date DEFAULT NULL COMMENT ''å¼å§æ¥æ'' AFTER `date`', |
| | | 'SELECT 1'); |
| | | PREPARE stmt FROM @ddl; |
| | | EXECUTE stmt; |
| | | DEALLOCATE PREPARE stmt; |
| | | |
| | | -- ------------------------------------------------------------ |
| | | -- â¡ æ°å¢ end_date |
| | | -- ------------------------------------------------------------ |
| | | SET @col_exists = (SELECT COUNT(*) FROM information_schema.columns |
| | | WHERE table_schema = DATABASE() |
| | | AND table_name = 'hrm_attendance_holiday' |
| | | AND column_name = 'end_date'); |
| | | SET @ddl = IF(@col_exists = 0, |
| | | 'ALTER TABLE `hrm_attendance_holiday` ADD COLUMN `end_date` date DEFAULT NULL COMMENT ''ç»ææ¥æ'' AFTER `start_date`', |
| | | 'SELECT 1'); |
| | | PREPARE stmt FROM @ddl; |
| | | EXECUTE stmt; |
| | | DEALLOCATE PREPARE stmt; |
| | | |
| | | -- ------------------------------------------------------------ |
| | | -- ⢠åéæ°æ®åå¡«ï¼åæ¥é
ç½®çèµ·æ¢æ¥æé½çäºå date |
| | | -- ------------------------------------------------------------ |
| | | UPDATE `hrm_attendance_holiday` SET `start_date` = `date` WHERE `start_date` IS NULL; |
| | | UPDATE `hrm_attendance_holiday` SET `end_date` = `date` WHERE `end_date` IS NULL; |
| | | |
| | | -- ------------------------------------------------------------ |
| | | -- ⣠åå¡«å®æåæ¶ç´§ä¸º NOT NULLï¼å¹çï¼ |
| | | -- ------------------------------------------------------------ |
| | | ALTER TABLE `hrm_attendance_holiday` |
| | | MODIFY COLUMN `start_date` date NOT NULL COMMENT 'å¼å§æ¥æ', |
| | | MODIFY COLUMN `end_date` date NOT NULL COMMENT 'ç»ææ¥æ'; |
| | | |
| | | -- ------------------------------------------------------------ |
| | | -- æ ¡éª |
| | | -- ------------------------------------------------------------ |
| | | SELECT 'start_date' AS item, COUNT(*) AS cnt FROM information_schema.columns |
| | | WHERE table_schema = DATABASE() AND table_name = 'hrm_attendance_holiday' AND column_name = 'start_date' |
| | | UNION ALL |
| | | SELECT 'end_date', COUNT(*) FROM information_schema.columns |
| | | WHERE table_schema = DATABASE() AND table_name = 'hrm_attendance_holiday' AND column_name = 'end_date'; |