defmodule Aprsme.Repo.Migrations.AddAdditionalPacketFields do use Ecto.Migration def change do alter table(:packets) do # Store the original raw packet string as received from APRS-IS add :raw_packet, :text # Store symbol information as separate columns for easier querying add :symbol_code, :string add :symbol_table_id, :string # Additional useful fields that may be in the parsed data add :comment, :text add :timestamp, :string add :aprs_messaging, :boolean, default: false # Weather data fields (for weather packets) add :temperature, :float add :humidity, :float add :wind_speed, :float add :wind_direction, :integer add :wind_gust, :float add :pressure, :float add :rain_1h, :float add :rain_24h, :float add :rain_since_midnight, :float # Equipment/status information add :manufacturer, :string add :equipment_type, :string add :course, :integer add :speed, :float add :altitude, :float # Message-specific fields add :addressee, :string add :message_text, :text add :message_number, :string end # Add indices for commonly queried fields create index(:packets, [:symbol_code]) create index(:packets, [:symbol_table_id]) create index(:packets, [:timestamp]) create index(:packets, [:addressee]) create index(:packets, [:manufacturer]) end end