defmodule DaProductApp.Repo.Migrations.CreateSettlements do use Ecto.Migration def change do create table(:settlements, primary_key: false) do add :id, :binary_id, primary_key: true add :settlement_id, :string add :date, :date add :status, :string add :amount, :decimal, precision: 15, scale: 2 add :details, :map add :merchant_tag, :string add :bank_user_id, :string add :qr_id, :string add :batch_number, :string add :total_transaction_count, :integer add :gross_settlement_amount, :decimal, precision: 15, scale: 2 add :gross_settlement_currency, :string add :mdr_charges, :decimal, precision: 15, scale: 2 add :mdr_charges_currency, :string add :tax_on_mdr, :decimal, precision: 15, scale: 2 add :tax_on_mdr_currency, :string add :net_settlement_amount, :decimal, precision: 15, scale: 2 add :net_settlement_currency, :string add :settlement_timestamp, :utc_datetime add :transaction_count, :integer add :mismatch_count, :integer add :discrepancy_amount, :decimal, precision: 15, scale: 2 add :resolution_file_required, :boolean, default: false add :merchant_id, :string add :provider_id, references(:providers, on_delete: :nilify_all) timestamps(type: :utc_datetime) end create index(:settlements, [:settlement_id]) create index(:settlements, [:merchant_id]) create index(:settlements, [:provider_id]) create index(:settlements, [:date]) create index(:settlements, [:status]) end end