class CreateSmsMessages < ActiveRecord::Migration[8.0] def change create_table :sms_messages do |t| t.references :gateway, foreign_key: true t.string :message_id, null: false t.string :direction, null: false t.string :phone_number, null: false t.text :message_body, null: false t.string :status, default: "pending" t.text :error_message t.integer :retry_count, default: 0 t.datetime :sent_at t.datetime :delivered_at t.datetime :failed_at t.jsonb :metadata, default: {} t.timestamps end add_index :sms_messages, :message_id, unique: true add_index :sms_messages, :phone_number add_index :sms_messages, [:phone_number, :created_at] add_index :sms_messages, [:status, :created_at] add_index :sms_messages, :direction end end