-- V31: 清理废弃字段
-- 删除租户套餐关联表中的 packageId 字段（已使用 collectionId 替代）
-- 删除日程计划表中的 startDate、endDate 字段（已使用 scheduledDate 替代）
-- 注意：此迁移已在之前执行，这里只做标记

-- 验证列是否已删除（如果列不存在，这些语句不会报错）
-- 使用 dynamic SQL 安全删除列
SET @table_name = 'tenant_package';
SET @column_name = 'packageId';

-- 删除 tenant_package.packageId（如果存在）
SET @sql = (
    SELECT IF(
        EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
               WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'tenant_package' AND COLUMN_NAME = 'packageId'),
        'ALTER TABLE tenant_package DROP COLUMN packageId',
        'SELECT 1'
    )
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

-- 删除 schedule_plan.start_date（如果存在）
SET @sql = (
    SELECT IF(
        EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
               WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'schedule_plan' AND COLUMN_NAME = 'start_date'),
        'ALTER TABLE schedule_plan DROP COLUMN start_date',
        'SELECT 1'
    )
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

-- 删除 schedule_plan.end_date（如果存在）
SET @sql = (
    SELECT IF(
        EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
               WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'schedule_plan' AND COLUMN_NAME = 'end_date'),
        'ALTER TABLE schedule_plan DROP COLUMN end_date',
        'SELECT 1'
    )
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
