27 lines
835 B
Ruby
27 lines
835 B
Ruby
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
|