defmodule Microwaveprop.Repo.Migrations.CreateCommercialSamples do use Ecto.Migration def change do create table(:commercial_samples, primary_key: false) do add :id, :binary_id, primary_key: true add :link_id, references(:commercial_links, type: :binary_id, on_delete: :delete_all), null: false add :sampled_at, :utc_datetime_usec, null: false # Local radio add :rx_power_0, :float add :rx_power_1, :float add :tx_power, :float add :tx_freq_mhz, :integer add :rx_freq_mhz, :integer add :radio_temp_0_c, :float add :radio_temp_1_c, :float # Modulation & capacity add :cur_tx_mod_rate, :integer add :remote_tx_mod_rate, :integer add :rx_capacity, :integer add :tx_capacity, :integer # Remote radio add :remote_tx_power, :float add :remote_rx_power_0, :float add :remote_rx_power_1, :float # Link status add :link_state, :integer add :link_uptime, :integer add :link_distance_m, :integer timestamps(type: :utc_datetime) end create index(:commercial_samples, [:link_id, :sampled_at]) create index(:commercial_samples, [:sampled_at]) end end