-- 回滚：将 tb_iot_card.virtual_no 恢复为 NOT NULL，并重建无条件唯一索引

-- 清理空值记录（如有）
DELETE FROM tb_iot_card WHERE virtual_no IS NULL OR virtual_no = '';

-- 删除条件唯一索引
DROP INDEX IF EXISTS idx_iot_card_virtual_no;

-- 将 virtual_no 列改为 NOT NULL
ALTER TABLE tb_iot_card ALTER COLUMN virtual_no SET NOT NULL;

-- 重建无条件唯一索引
CREATE UNIQUE INDEX idx_iot_card_virtual_no ON tb_iot_card(virtual_no) WHERE deleted_at IS NULL;
