Преглед изворни кода

feat: migration adjustment for B3 CPR

Fernando пре 3 недеља
родитељ
комит
3d6589bacf
1 измењених фајлова са 119 додато и 103 уклоњено
  1. 119 103
      migrations/migrations_v1.sql

+ 119 - 103
migrations/migrations_v1.sql

@@ -27,109 +27,125 @@ CREATE TABLE "status" (
 
 CREATE TABLE "cpr" (
     "cpr_id" SERIAL PRIMARY KEY,
-    "cpr_additive" TEXT NOT NULL,
-    "cpr_agents_sender_phone" TEXT NOT NULL,
-    "cpr_agents_sender_cep" TEXT NOT NULL,
-    "cpr_agents_creditor_document_number" TEXT NOT NULL,
-    "cpr_agents_creditor_status" BOOLEAN NOT NULL,
-    "cpr_agents_creditor_person_type" INTEGER NOT NULL,
-    "cpr_agents_endorsement_date" TEXT NOT NULL,
-    "cpr_agents_endorser" BOOLEAN NOT NULL,
-    "cpr_agents_creditor_id" INTEGER NOT NULL,
-    "cpr_agents_wallet_holder" TEXT NOT NULL,
-    "cpr_agents_cnpj_holder" TEXT NOT NULL,
-    "cpr_agents_debtor_cep" TEXT NOT NULL,
-    "cpr_agents_debtor_email" TEXT NOT NULL,
-    "cpr_agents_debtor_name_corporate_name" TEXT NOT NULL,
-    "cpr_agents_debtor_phone_number" TEXT NOT NULL,
-    "cpr_agents_debtor_document_number" TEXT NOT NULL,
-    "cpr_agents_debtor_status" BOOLEAN NOT NULL,
-    "cpr_agents_debtor_person_type" INTEGER NOT NULL,
-    "cpr_agents_debtor_id" INTEGER NOT NULL,
-    "cpr_agents_sender_email" TEXT NOT NULL,
-    "cpr_agents_sender_credit_agency" TEXT NOT NULL,
-    "cpr_agents_sender_credit_bank" TEXT NOT NULL,
-    "cpr_agents_sender_credit_checking_account" TEXT NOT NULL,
-    "cpr_agents_guarantor_phone" TEXT NOT NULL,
-    "cpr_agents_guarantor_email" TEXT NOT NULL,
-    "cpr_agents_guarantor_cep" TEXT NOT NULL,
-    "cpr_agents_guarantor_document_number" TEXT NOT NULL,
-    "cpr_agents_guarantor_status" BOOLEAN NOT NULL,
-    "cpr_agents_guarantor_person_type" INTEGER NOT NULL,
-    "cpr_agents_guarantor_id" INTEGER NOT NULL,
-    "cpr_agents_guarantor_type" INTEGER NOT NULL,
-    "cpr_agents_sender_document_number" TEXT NOT NULL,
-    "cpr_agents_sender_person_type" INTEGER NOT NULL,
-    "cpr_area_total" NUMERIC NOT NULL,
-    "cpr_area_registry" TEXT NOT NULL,
-    "cpr_area_cep" TEXT NOT NULL,
-    "cpr_area_address" TEXT NOT NULL,
-    "cpr_area_property_unitary_fraction" TEXT NOT NULL,
-    "cpr_area_id" INTEGER NOT NULL,
-    "cpr_area_latitude" NUMERIC NOT NULL,
-    "cpr_area_logitude" NUMERIC NOT NULL,
-    "cpr_area_registration" TEXT NOT NULL,
-    "cpr_area_farm_name" TEXT NOT NULL,
-    "cpr_area_product_cpr_necessery_area" NUMERIC NOT NULL,
-    "cpr_area_product_total_productive_area" NUMERIC NOT NULL,
-    "cpr_area_product_class_type_ph" TEXT NOT NULL,
-    "cpr_area_product_culture" TEXT NOT NULL,
-    "cpr_area_product_culture_specificity" TEXT NOT NULL,
-    "cpr_area_product_packaging_method" TEXT NOT NULL,
-    "cpr_area_product_id" INTEGER NOT NULL,
-    "cpr_area_product_assessment_index" TEXT NOT NULL,
-    "cpr_area_product_institution_responsible_index" TEXT NOT NULL,
-    "cpr_area_product_delivery_location_city" TEXT NOT NULL,
-    "cpr_area_product_delivery_location_regional" TEXT NOT NULL,
-    "cpr_area_product_delivery_location_fu" TEXT NOT NULL,
-    "cpr_area_product_volume_price" NUMERIC NOT NULL,
-    "cpr_area_product_production" TEXT NOT NULL,
-    "cpr_area_product_productivity" TEXT NOT NULL,
-    "cpr_area_product_harvest" TEXT NOT NULL,
-    "cpr_area_product_situation" TEXT NOT NULL,
-    "cpr_area_product_status" BOOLEAN NOT NULL,
-    "cpr_area_product_volume_mesuring_unit" TEXT NOT NULL,
-    "cpr_area_product_register_value" TEXT NOT NULL,
-    "cpr_area_product_volume_quantity" TEXT NOT NULL,
-    "cpr_area_owner" TEXT NOT NULL,
-    "cpr_area_legal_reserve" NUMERIC NOT NULL,
-    "cpr_area_status" BOOLEAN NOT NULL,
-    "cpr_contracts_registration_authorized_and_clear_fi_record" BOOLEAN NOT NULL, --autorizo_registro_e_declaro_que_foi_dado_baixa_no_registro_em_quaisquer_outras_if
-    "cpr_contracts_credit_operation_contract_code" TEXT NOT NULL,
-    "cpr_contracts_contract_scr" TEXT NOT NULL,
-    "cpr_contracts_coin_code" TEXT NOT NULL,
-    "cpr_contracts_other_fi_discharge_date" TIMESTAMPTZ NOT NULL,
-    "cpr_contracts_fi_hiring_date" TIMESTAMPTZ NOT NULL,
-    "cpr_contracts_original_register_date" TIMESTAMPTZ NOT NULL,
-    "cpr_contracts_transaction_date" DATE NOT NULL,
-    "cpr_contracts_scr_standardized_identification" TEXT NOT NULL,
-    "cpr_contracts_indexation" TEXT NOT NULL,
-    "cpr_contracts_operation_nature" TEXT NOT NULL,
-    "cpr_contracts_indexing_percentage" NUMERIC NOT NULL,
-    "cpr_contracts_installments_quantity_contracted" INTEGER NOT NULL,
-    "cpr_contracts_extern_reference" TEXT NOT NULL,
-    "cpr_contracts_operation_interest_rate" NUMERIC NOT NULL,
-    "cpr_contracts_asset_type" TEXT NOT NULL,
-    "cpr_contracts_contract_financed_value" NUMERIC NOT NULL,
-    "cpr_contracts_credit_liquid_value" NUMERIC NOT NULL,
-    "cpr_contracts_credit_total_value" NUMERIC NOT NULL,
-    "cpr_emission_delivery_date" DATE NOT NULL,
-    "cpr_emission_id" INTEGER NOT NULL,
-    "cpr_emission_location" TEXT NOT NULL,
-    "cpr_emission_issuer_corporate_name" TEXT NOT NULL,
-    "cpr_emission_cpr_type" TEXT NOT NULL, --fisico, financeiro
-    "cpr_guarantee_status" BOOLEAN NOT NULL,
-    "cpr_guarantee_id" INTEGER NOT NULL,
-    "cpr_guarantee_type" TEXT NOT NULL,
-    "cpr_installment_control_code" TEXT NOT NULL,
-    "cpr_installment_due_date" TEXT NOT NULL,
-    "cpr_installment_register_id" INTEGER NOT NULL,
-    "cpr_installment_number" INTEGER NOT NULL,
-    "cpr_installment_assignment_price" INTEGER NOT NULL,
-    "cpr_installment_status" INTEGER NOT NULL,
-    "cpr_installment_value" NUMERIC NOT NULL,
-    "cpr_installment_main_value" NUMERIC NOT NULL,
-    "cpr_status" TEXT NOT NULL --1 - ACEITO, 2 - LIQUIDADO, 3 - RECUSADO, 4 - CANCELADO
+    "cpr_type_code" TEXT NOT NULL,
+    "cpr_otc_register_account_code" TEXT NOT NULL,
+    "cpr_otc_payment_agent_account_code" TEXT NOT NULL,
+    "cpr_otc_custodian_account_code" TEXT NOT NULL,
+    "cpr_internal_control_number" TEXT NOT NULL,
+    "cpr_electronic_emission_indicator" TEXT NOT NULL,
+    "cpr_isin_code" TEXT NOT NULL,
+    "cpr_issue_date" DATE NOT NULL,
+    "cpr_maturity_date" DATE NOT NULL,
+    "cpr_issue_quantity" TEXT NOT NULL,
+    "cpr_issue_value" TEXT NOT NULL,
+    "cpr_issue_financial_value" TEXT NOT NULL,
+    "cpr_unit_value" TEXT NOT NULL,
+    "cpr_reference_date" DATE NOT NULL,
+    "cpr_profitability_start_date" DATE NOT NULL,
+    "cpr_automatic_expiration_indicator" TEXT NOT NULL,
+    "cpr_collateral_type_code" TEXT NOT NULL,
+    "cpr_collateral_type_name" TEXT NOT NULL,
+    "cpr_constitution_process_indicator" TEXT NOT NULL,
+    "cpr_otc_bondsman_account_code" TEXT NOT NULL,
+    "cpr_document_number" TEXT NOT NULL,
+    "cpr_product_name" TEXT NOT NULL,
+    "cpr_product_class_name" TEXT NOT NULL,
+    "cpr_product_harvest" TEXT NOT NULL,
+    "cpr_product_description" TEXT NOT NULL,
+    "cpr_product_quantity" TEXT NOT NULL,
+    "cpr_measure_unit_name" TEXT NOT NULL,
+    "cpr_packaging_way_name" TEXT NOT NULL,
+    "cpr_product_status_code" TEXT NOT NULL,
+    "cpr_production_type_code" TEXT NOT NULL,
+    "cpr_issuer_name" TEXT NOT NULL,
+    "cpr_document_number" TEXT NOT NULL,
+    "cpr_person_type_acronym" TEXT NOT NULL,
+    "cpr_state_acronym" TEXT NOT NULL,
+    "cpr_city_name" TEXT NOT NULL,
+    "cpr_ibge_code" TEXT NOT NULL,
+    "cpr_issuer_legal_nature_code" TEXT NOT NULL,
+    "cpr_otc_favored_account_code" TEXT NOT NULL,
+    "cpr_document_number" TEXT NOT NULL,
+    "cpr_person_type_acronym" TEXT NOT NULL,
+    "cpr_self_number" TEXT NOT NULL,
+    "cpr_settlement_modality_type_code" TEXT NOT NULL,
+    "cpr_otc_settlement_bank_account_code" TEXT NOT NULL,
+    "cpr_deposit_quantity" TEXT NOT NULL,
+    "cpr_deposit_unit_price_value" TEXT NOT NULL,
+    "cpr_payment_method_code" TEXT NOT NULL,
+    "cpr_index_code" TEXT NOT NULL,
+    "cpr_index_short_name" TEXT NOT NULL,
+    "cpr_vcp_indicator_type_code" TEXT NOT NULL,
+    "cpr_indexador_percentage_value" TEXT NOT NULL,
+    "cpr_interest_rate_spread_percentage" TEXT NOT NULL,
+    "cpr_interest_rate_criteria_type_code" TEXT NOT NULL,
+    "cpr_interest_payment_date" DATE NOT NULL,
+    "cpr_interest_payment_value" TEXT NOT NULL,
+    "cpr_interest_payment_frequency_code" TEXT NOT NULL,
+    "cpr_interest_months_quantity" TEXT NOT NULL,
+    "cpr_time_unit_type_code" TEXT NOT NULL,
+    "cpr_deadline_type_code" TEXT NOT NULL,
+    "cpr_payment_start_date" DATE NOT NULL,
+    "cpr_amortization_type_code" TEXT NOT NULL,
+    "cpr_amortization_months_quantity" TEXT NOT NULL,
+    "cpr_time_unit_type_code" TEXT NOT NULL,
+    "cpr_deadline_type_code" TEXT NOT NULL,
+    "cpr_amortization_start_date" DATE NOT NULL,
+    "cpr_scr_type_code" TEXT NOT NULL,
+    "cpr_scr_customer_detail" TEXT NOT NULL,
+    "cpr_person_type_acronym" TEXT NOT NULL,
+    "cpr_document_number" TEXT NOT NULL,
+    "cpr_contract_code" TEXT NOT NULL,
+    "cpr_operation_modality_type_code" TEXT NOT NULL,
+    "cpr_bacen_reference_code" TEXT NOT NULL,
+    "cpr_finality_code" TEXT NOT NULL,
+    "cpr_ipoc_code" TEXT NOT NULL,
+    "cpr_calculation_type_code" TEXT NOT NULL,
+    "cpr_initial_exchange_value" TEXT NOT NULL,
+    "cpr_fixing_type_code" TEXT NOT NULL,
+    "cpr_data_source_type_code" TEXT NOT NULL,
+    "cpr_adjustment_frequency_type_code" TEXT NOT NULL,
+    "cpr_adjustment_pro_rata_type_code" TEXT NOT NULL,
+    "cpr_adjustment_type_code" TEXT NOT NULL,
+    "cpr_creditor_name" TEXT NOT NULL,
+    "cpr_document_number" TEXT NOT NULL,
+    "cpr_ballast_type_code" TEXT NOT NULL,
+    "cpr_lot_number" TEXT NOT NULL,
+    "cpr_ballast_quantity" TEXT NOT NULL,
+    "cpr_currency_code" TEXT NOT NULL,
+    "cpr_transaction_identification" TEXT NOT NULL,
+    "cpr_additional_text" TEXT NOT NULL,
+    "cpr_number" TEXT NOT NULL,
+    "cpr_contract_number" TEXT NOT NULL,
+    "cpr_event_type_code" TEXT NOT NULL,
+    "cpr_event_original_date" DATE NOT NULL,
+    "cpr_unit_price_value" TEXT NOT NULL,
+    "cpr_interest_unit_price_value" TEXT NOT NULL,
+    "cpr_residual_value" TEXT NOT NULL,
+    "cpr_amortization_percentage" TEXT NOT NULL,
+    "cpr_event_quantity" TEXT NOT NULL,
+    "cpr_production_place_name" TEXT NOT NULL,
+    "cpr_property_registration_number" TEXT NOT NULL,
+    "cpr_notary_name" TEXT NOT NULL,
+    "cpr_total_production_area_in_hectares_number" TEXT NOT NULL,
+    "cpr_total_area_in_hectares_number" TEXT NOT NULL,
+    "cpr_car_code" TEXT NOT NULL,
+    "cpr_latitude_code" TEXT NOT NULL,
+    "cpr_longitude_code" TEXT NOT NULL,
+    "cpr_zip_code" TEXT NOT NULL,
+    "cpr_green_cpr_indicator" TEXT NOT NULL,
+    "cpr_green_cpr_certificate_name" TEXT NOT NULL,
+    "cpr_green_cpr_certificate_cnpj_number" TEXT NOT NULL,
+    "cpr_green_cpr_georeferencing_description" TEXT NOT NULL,
+    "cpr_green_cpr_declaration_indicator" TEXT NOT NULL,
+    "cpr_document_deadline_days_number" TEXT NOT NULL,
+    "cpr_place_name" TEXT NOT NULL,
+    "cpr_state_acronym" TEXT NOT NULL,
+    "cpr_city_name" TEXT NOT NULL,
+    "cpr_ibge_code" TEXT NOT NULL,
+    "cpr_guarantee_limit_type_code" TEXT NOT NULL,
+    "cpr_mother_code" TEXT NOT NULL,
+    "cpr_children_codes" JSONB NOT NULL  -- Armazena o array como JSONB, já que é uma lista
 );
 
 CREATE TABLE "commodities" (