defmodule DaProductApp.Repo.Migrations.CreatePosTransactionReversal do use Ecto.Migration def change do create table(:pos_transaction_reversal, primary_key: false) do add :id, :bigint, primary_key: true, null: false add :s_txn_type, :string, size: 25 add :original_temp_txn_id, :bigint, null: false add :reversal_reason, :string, size: 50, null: false add :reversal_status, :string, size: 20, null: false, default: "PENDING" add :s_tid, :string, size: 8 add :s_mid, :string, size: 15 add :s_tid_stan, :string, size: 6 add :b_tid, :string, size: 8 add :b_mid, :string, size: 15 add :acquirer_id, :bigint add :b_tid_stan, :string, size: 6 add :reversal_mti, :string, size: 4 add :original_mti, :string, size: 4 add :original_encrypted_pan, :string, size: 128 add :original_encrypted_expiry_date, :string, size: 64 add :original_proc_code, :string, size: 6 add :original_amount, :decimal, precision: 12, scale: 2 add :original_stan, :string, size: 6 add :original_time, :string, size: 6 add :original_date, :string, size: 8 add :original_entry_mode, :string, size: 3 add :original_pan_seq, :string, size: 3 add :original_reference_no, :string, size: 12 add :original_currency_code, :string, size: 3 add :original_batch_no, :string, size: 12 add :reversal_request, :text add :reversal_response, :text add :reversal_response_code, :string, size: 2 add :reversal_reference_no, :string, size: 12 add :retry_count, :integer, null: false, default: 0 add :max_retry_attempts, :integer, null: false, default: 3 add :next_retry_time, :naive_datetime add :created_date_time, :naive_datetime, null: false add :initiated_date_time, :naive_datetime add :completed_date_time, :naive_datetime add :updated_date_time, :naive_datetime add :error_message, :string, size: 255 add :metadata, :text end create index(:pos_transaction_reversal, [:b_tid, :b_mid]) create index(:pos_transaction_reversal, [:original_temp_txn_id]) create index(:pos_transaction_reversal, [:reversal_status]) create index(:pos_transaction_reversal, [:created_date_time]) end end