DROP INDEX IF EXISTS routing_code_requirements_contract_reference_idx;
DROP INDEX IF EXISTS routing_code_requirements_contract_lookup_idx;
DROP INDEX IF EXISTS routing_code_requirements_contract_rule_uniq;

ALTER TABLE routing_code_requirements
    DROP CONSTRAINT IF EXISTS routing_code_requirements_effective_range_check,
    DROP COLUMN IF EXISTS metadata,
    DROP COLUMN IF EXISTS retired_at,
    DROP COLUMN IF EXISTS approved_at,
    DROP COLUMN IF EXISTS approved_by_admin_user_id,
    DROP COLUMN IF EXISTS approval_status,
    DROP COLUMN IF EXISTS effective_to,
    DROP COLUMN IF EXISTS effective_from,
    DROP COLUMN IF EXISTS contract_signed_at,
    DROP COLUMN IF EXISTS contract_version,
    DROP COLUMN IF EXISTS contract_reference,
    DROP COLUMN IF EXISTS rule_source;

ALTER TABLE routing_code_requirements
    ADD CONSTRAINT routing_code_requirements_provider_country_network_currency_code_type_key
        UNIQUE (provider, country, network, currency, code_type);
