defmodule DaProductApp.Repo.Migrations.CreateOtaConfigurations do use Ecto.Migration def change do create table(:ota_configurations) do add :request_id, :integer add :merchant_config, :boolean, default: true add :merchant_id, :string add :terminal_id, :string add :device_serial, :string, null: false add :mqtt_ip, :string add :mqtt_port, :integer, default: 1883 add :http_ip, :string add :http_port, :integer, default: 4001 add :product_key, :string add :product_secret, :string add :client_id, :string add :username, :string add :mqtt_topic, :string add :keepalive_time, :integer, default: 300 add :play_language, :integer, default: 1 add :heartbeat_interval, :integer, default: 300 add :status, :string, default: "pending" add :sent_at, :utc_datetime add :acknowledged_at, :utc_datetime add :error_message, :string timestamps(type: :utc_datetime) end create index(:ota_configurations, [:device_serial]) create index(:ota_configurations, [:status]) create unique_index(:ota_configurations, [:device_serial, :request_id]) end end