From 25f411a3df866d5d74ea8f2543d45e25ea5d6533 Mon Sep 17 00:00:00 2001 From: dvdrw Date: Tue, 12 May 2026 16:00:46 +0200 Subject: [PATCH] chore: add migrations to git --- lib/localiser/migrator.ex | 2 +- migrations/20260331000001_create_floors.exs | 11 +++++++++++ migrations/20260331000002_create_rooms.exs | 18 ++++++++++++++++++ migrations/20260331000003_create_sensors.exs | 17 +++++++++++++++++ ...260331000004_create_sensor_calibrations.exs | 15 +++++++++++++++ migrations/20260331000005_create_tags.exs | 16 ++++++++++++++++ migrations/20260331000006_create_users.exs | 14 ++++++++++++++ .../20260416000001_add_is_admin_to_users.exs | 9 +++++++++ ...60511000000_rename_rooms_offset_columns.exs | 8 ++++++++ 9 files changed, 109 insertions(+), 1 deletion(-) create mode 100644 migrations/20260331000001_create_floors.exs create mode 100644 migrations/20260331000002_create_rooms.exs create mode 100644 migrations/20260331000003_create_sensors.exs create mode 100644 migrations/20260331000004_create_sensor_calibrations.exs create mode 100644 migrations/20260331000005_create_tags.exs create mode 100644 migrations/20260331000006_create_users.exs create mode 100644 migrations/20260416000001_add_is_admin_to_users.exs create mode 100644 migrations/20260511000000_rename_rooms_offset_columns.exs diff --git a/lib/localiser/migrator.ex b/lib/localiser/migrator.ex index 45dee3e..87c9341 100644 --- a/lib/localiser/migrator.ex +++ b/lib/localiser/migrator.ex @@ -6,7 +6,7 @@ defmodule Localiser.Migrator do end def init(_args) do - path = Application.app_dir(:localiserd, "priv/repo/migrations") + path = Application.app_dir(:localiserd, "migrations") Ecto.Migrator.run(Localiser.Repo, path, :up, all: true) {:ok, %{}} end diff --git a/migrations/20260331000001_create_floors.exs b/migrations/20260331000001_create_floors.exs new file mode 100644 index 0000000..49ec249 --- /dev/null +++ b/migrations/20260331000001_create_floors.exs @@ -0,0 +1,11 @@ +defmodule Localiser.Repo.Migrations.CreateFloors do + use Ecto.Migration + + def change do + create table(:floors) do + add :name, :string, null: false + + timestamps(type: :utc_datetime) + end + end +end diff --git a/migrations/20260331000002_create_rooms.exs b/migrations/20260331000002_create_rooms.exs new file mode 100644 index 0000000..f296ca1 --- /dev/null +++ b/migrations/20260331000002_create_rooms.exs @@ -0,0 +1,18 @@ +defmodule Localiser.Repo.Migrations.CreateRooms do + use Ecto.Migration + + def change do + create table(:rooms) do + add :name, :string, null: false + add :floor_id, references(:floors, on_delete: :delete_all), null: false + add :width, :float + add :height, :float + add :offset_x, :float + add :offset_y, :float + + timestamps(type: :utc_datetime) + end + + create index(:rooms, [:floor_id]) + end +end diff --git a/migrations/20260331000003_create_sensors.exs b/migrations/20260331000003_create_sensors.exs new file mode 100644 index 0000000..f8588f4 --- /dev/null +++ b/migrations/20260331000003_create_sensors.exs @@ -0,0 +1,17 @@ +defmodule Localiser.Repo.Migrations.CreateSensors do + use Ecto.Migration + + def change do + create table(:sensors) do + add :sensor_id, :string, null: false + add :room_id, references(:rooms, on_delete: :nilify_all) + add :x, :float + add :y, :float + + timestamps(type: :utc_datetime) + end + + create unique_index(:sensors, [:sensor_id]) + create index(:sensors, [:room_id]) + end +end diff --git a/migrations/20260331000004_create_sensor_calibrations.exs b/migrations/20260331000004_create_sensor_calibrations.exs new file mode 100644 index 0000000..1ef832d --- /dev/null +++ b/migrations/20260331000004_create_sensor_calibrations.exs @@ -0,0 +1,15 @@ +defmodule Localiser.Repo.Migrations.CreateSensorCalibrations do + use Ecto.Migration + + def change do + create table(:sensor_calibrations) do + add :sensor_id, references(:sensors, on_delete: :delete_all), null: false + add :rssi_ref, :integer, null: false + add :path_loss_exp, :float, null: false + add :calibrated_at, :utc_datetime, null: false + add :inserted_at, :utc_datetime, null: false + end + + create index(:sensor_calibrations, [:sensor_id]) + end +end diff --git a/migrations/20260331000005_create_tags.exs b/migrations/20260331000005_create_tags.exs new file mode 100644 index 0000000..4ede5f3 --- /dev/null +++ b/migrations/20260331000005_create_tags.exs @@ -0,0 +1,16 @@ +defmodule Localiser.Repo.Migrations.CreateTags do + use Ecto.Migration + + def change do + create table(:tags) do + add :tag_id, :string, null: false + add :name, :string + add :color, :string + add :metadata, :text + + timestamps(type: :utc_datetime) + end + + create unique_index(:tags, [:tag_id]) + end +end diff --git a/migrations/20260331000006_create_users.exs b/migrations/20260331000006_create_users.exs new file mode 100644 index 0000000..c4ad653 --- /dev/null +++ b/migrations/20260331000006_create_users.exs @@ -0,0 +1,14 @@ +defmodule Localiser.Repo.Migrations.CreateUsers do + use Ecto.Migration + + def change do + create table(:users) do + add :username, :string, null: false + add :password_hash, :string, null: false + + timestamps(type: :utc_datetime) + end + + create unique_index(:users, [:username]) + end +end diff --git a/migrations/20260416000001_add_is_admin_to_users.exs b/migrations/20260416000001_add_is_admin_to_users.exs new file mode 100644 index 0000000..8e9faaf --- /dev/null +++ b/migrations/20260416000001_add_is_admin_to_users.exs @@ -0,0 +1,9 @@ +defmodule Localiser.Repo.Migrations.AddIsAdminToUsers do + use Ecto.Migration + + def change do + alter table(:users) do + add :is_admin, :boolean, default: false, null: false + end + end +end diff --git a/migrations/20260511000000_rename_rooms_offset_columns.exs b/migrations/20260511000000_rename_rooms_offset_columns.exs new file mode 100644 index 0000000..685e735 --- /dev/null +++ b/migrations/20260511000000_rename_rooms_offset_columns.exs @@ -0,0 +1,8 @@ +defmodule Localiser.Repo.Migrations.RenameRoomsOffsetColumns do + use Ecto.Migration + + def change do + rename table(:rooms), :offset_x, to: :x + rename table(:rooms), :offset_y, to: :y + end +end