-- 回滚：将 tb_iot_card.virtual_no 恢复为 nullable，并还原条件唯一索引

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

-- 将 virtual_no 列改回允许 NULL
ALTER TABLE tb_iot_card ALTER COLUMN virtual_no DROP NOT NULL;

-- 恢复旧的条件唯一索引（允许多条 NULL 值共存）
CREATE UNIQUE INDEX idx_iot_card_virtual_no ON tb_iot_card(virtual_no)
    WHERE deleted_at IS NULL AND virtual_no IS NOT NULL AND virtual_no <> '';
