32 lines
1.1 KiB
Elixir
32 lines
1.1 KiB
Elixir
defmodule Towerops.Repo.Migrations.CreateSnmpTransceivers do
|
|
use Ecto.Migration
|
|
|
|
def change do
|
|
create table(:snmp_transceivers, primary_key: false) do
|
|
add :id, :binary_id, primary_key: true
|
|
|
|
add :snmp_device_id, references(:snmp_devices, type: :binary_id, on_delete: :delete_all),
|
|
null: false
|
|
|
|
add :entity_physical_id,
|
|
references(:snmp_entity_physical, type: :binary_id, on_delete: :nilify_all)
|
|
|
|
add :port_index, :string, null: false
|
|
add :transceiver_type, :string
|
|
add :vendor_name, :string
|
|
add :vendor_part_number, :string
|
|
add :vendor_serial_number, :string
|
|
add :vendor_revision, :string
|
|
add :wavelength_nm, :integer
|
|
add :connector_type, :string
|
|
add :nominal_bitrate_mbps, :integer
|
|
add :supports_dom, :boolean, default: false, null: false
|
|
|
|
timestamps(type: :utc_datetime)
|
|
end
|
|
|
|
create unique_index(:snmp_transceivers, [:snmp_device_id, :port_index])
|
|
create index(:snmp_transceivers, [:entity_physical_id])
|
|
create index(:snmp_transceivers, [:transceiver_type])
|
|
end
|
|
end
|