-- 为 pla_account 表添加自动搜索相关字段
-- 执行时间：2025-01-XX
-- 说明：添加自动搜索开关和搜索配置字段

-- ============================================
-- 添加自动搜索开关字段（auto_search）
-- ============================================
ALTER TABLE `pla_account` 
ADD COLUMN `auto_search` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '自动搜索开关（1=启用，0=禁用）' 
AFTER `auto_deliver`;

-- ============================================
-- 添加自动搜索配置字段（search_config）
-- ============================================
ALTER TABLE `pla_account` 
ADD COLUMN `search_config` JSON COMMENT '自动搜索配置（JSON对象，包含：search_interval-搜索间隔分钟数, city-城市, cityName-城市名称, salary-薪资, experience-经验, education-学历）' 
AFTER `auto_search`;

-- ============================================
-- 为已有账号设置默认配置
-- ============================================
-- 为所有账号设置默认的 search_config（如果为 NULL）
UPDATE `pla_account`
SET `search_config` = JSON_OBJECT(
    'search_interval', 30,
    'city', '',
    'cityName', '',
    'salary', '',
    'experience', '',
    'education', ''
)
WHERE `search_config` IS NULL;

-- ============================================
-- 验证字段是否添加成功
-- ============================================
SELECT 
    COLUMN_NAME AS '字段名',
    COLUMN_TYPE AS '字段类型',
    IS_NULLABLE AS '允许空',
    COLUMN_DEFAULT AS '默认值',
    COLUMN_COMMENT AS '注释'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'pla_account'
AND COLUMN_NAME IN ('auto_search', 'search_config')
ORDER BY ORDINAL_POSITION;

-- ============================================
-- 注意事项
-- ============================================
-- 1. auto_search 使用 TINYINT(1) 类型，默认值为 0（关闭）
-- 2. search_config 使用 JSON 类型（MySQL 5.7+）
-- 3. 如果 MySQL 版本低于 5.7，请将 JSON 类型改为 TEXT 类型
-- 4. 执行前建议先备份数据库
-- 5. 如果字段已存在会报错，请先删除字段再执行：
--    ALTER TABLE `pla_account` DROP COLUMN `auto_search`;
--    ALTER TABLE `pla_account` DROP COLUMN `search_config`;
-- 6. search_config 默认值包含以下字段：
--    - search_interval: 30（搜索间隔，单位：分钟）
--    - city: ''（城市代码）
--    - cityName: ''（城市名称）
--    - salary: ''（薪资范围）
--    - experience: ''（工作经验要求）
--    - education: ''（学历要求）

