summaryrefslogtreecommitdiff
path: root/internal/server/api/migrations/20250109135557_frequencies.sql
blob: a444af1602f4c55a38279daeddbbe70dda1dd6d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
-- +goose Up
CREATE TABLE IF NOT EXISTS frequencies (
  id INTEGER PRIMARY KEY,
  network_id INT NOT NULL REFERENCES networks (id) ON DELETE CASCADE,
  name TEXT NOT NULL,
  hex_color TEXT NOT NULL,
  perms INT NOT NULL CHECK (perms IN (0, 1, 2)),
  -- 0 no access | 1 read | 2 read & write
  position INT NOT NULL
);

-- +goose StatementBegin
CREATE TRIGGER IF NOT EXISTS on_frequency_delete
AFTER DELETE ON frequencies
BEGIN
  UPDATE frequencies SET
    position = position - 1
  WHERE network_id = OLD.network_id AND position > OLD.position;
END
-- +goose StatementEnd

-- +goose Down
DROP TABLE IF EXISTS frequencies;
DROP TRIGGER IF EXISTS on_frequency_delete;