Files
eko/internal/server/api/migrations/20250109135557_frequencies.sql

25 lines
666 B
SQL

-- +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;