class CreatePayouts < ActiveRecord::Migration[8.0] def change create_table :payouts do |t| t.integer :amount_cents, null: false t.integer :fee_cents, null: false, default: 0 t.integer :status, null: false, default: 0 t.string :stripe_payout_id t.integer :total_orders_count, null: false, default: 0 t.integer :refunded_orders_count, null: false, default: 0 t.references :user, null: false, foreign_key: false t.references :event, null: false, foreign_key: false # Manual processing fields t.references :processed_by, null: true, foreign_key: { to_table: :users } t.datetime :processed_at t.text :rejection_reason t.string :bank_transfer_reference t.timestamps end add_index :payouts, :status add_index :payouts, :stripe_payout_id, unique: true add_index :payouts, [ :event_id, :status ] end end