From 9ca73b949a2f9318c7b3767bb365e8167a96cd59 Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Fri, 1 May 2026 13:32:03 -0500 Subject: [PATCH] fix: rename agent_assignments unique index to match device_id column The original equipment->device rename migration's ALTER INDEX RENAME was a no-op (the index didn't exist by the legacy name at that point in the migration sequence on existing databases), leaving the unique index named agent_assignments_equipment_id_index. The schema's unique_constraint now expects agent_assignments_device_id_index, causing a constraint violation to surface as Ecto.ConstraintError instead of a changeset error. --- ...33_rename_agent_assignments_unique_index.exs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 priv/repo/migrations/20260501183033_rename_agent_assignments_unique_index.exs diff --git a/priv/repo/migrations/20260501183033_rename_agent_assignments_unique_index.exs b/priv/repo/migrations/20260501183033_rename_agent_assignments_unique_index.exs new file mode 100644 index 00000000..3912b1a1 --- /dev/null +++ b/priv/repo/migrations/20260501183033_rename_agent_assignments_unique_index.exs @@ -0,0 +1,17 @@ +defmodule Towerops.Repo.Migrations.RenameAgentAssignmentsUniqueIndex do + use Ecto.Migration + + def up do + execute """ + ALTER INDEX IF EXISTS agent_assignments_equipment_id_index + RENAME TO agent_assignments_device_id_index + """ + end + + def down do + execute """ + ALTER INDEX IF EXISTS agent_assignments_device_id_index + RENAME TO agent_assignments_equipment_id_index + """ + end +end