-- ============================================================================= -- migrate_notice_receiver_ids_text.sql -- t_notice.ReceiverIds:JSON → TEXT,保证广播([])与定向名单可用字符串条件查询 -- 可重复执行 -- ============================================================================= SET @db := DATABASE(); SET @col_type := ( SELECT DATA_TYPE FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 't_notice' AND COLUMN_NAME = 'ReceiverIds' LIMIT 1 ); SET @sql := IF( @col_type IS NOT NULL AND LOWER(IFNULL(@col_type, '')) = 'json', 'ALTER TABLE `t_notice` MODIFY COLUMN `ReceiverIds` TEXT NOT NULL COMMENT ''接收对象ID列表(JSON数组字符串)''', 'SELECT ''t_notice.ReceiverIds already text or missing'' AS info' ); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;