-- AIHR 案例原始音频字段迁移(MySQL 8.x) -- 仅补齐旧库缺失的媒体留痕字段,不写入业务数据;可重复执行。 SET @aihr_case_table_exists := ( SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'aihr_case_record' ); SET @aihr_case_media_oss_exists := ( SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'aihr_case_record' AND COLUMN_NAME = 'media_oss_id' ); SET @aihr_case_media_oss_ddl := IF( @aihr_case_table_exists = 1 AND @aihr_case_media_oss_exists = 0, 'ALTER TABLE aihr_case_record ADD COLUMN `media_oss_id` bigint DEFAULT NULL COMMENT ''原始音频OSS文件ID'' AFTER `summary`', 'SELECT 1' ); PREPARE aihr_case_media_oss_stmt FROM @aihr_case_media_oss_ddl; EXECUTE aihr_case_media_oss_stmt; DEALLOCATE PREPARE aihr_case_media_oss_stmt; SET @aihr_case_media_url_exists := ( SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'aihr_case_record' AND COLUMN_NAME = 'media_url' ); SET @aihr_case_media_url_ddl := IF( @aihr_case_table_exists = 1 AND @aihr_case_media_url_exists = 0, 'ALTER TABLE aihr_case_record ADD COLUMN `media_url` varchar(500) DEFAULT NULL COMMENT ''原始音频访问地址'' AFTER `media_oss_id`', 'SELECT 1' ); PREPARE aihr_case_media_url_stmt FROM @aihr_case_media_url_ddl; EXECUTE aihr_case_media_url_stmt; DEALLOCATE PREPARE aihr_case_media_url_stmt;