Files
History_Api/db/migrations/000007_entities.up.sql
AzenKain 29944915cd
All checks were successful
Build and Release / release (push) Successful in 1m30s
UPDATE: new db
2026-05-05 16:57:44 +07:00

35 lines
997 B
SQL

CREATE TABLE IF NOT EXISTS entities (
id UUID PRIMARY KEY DEFAULT uuidv7(),
project_id UUID NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
name TEXT NOT NULL,
slug TEXT UNIQUE,
description TEXT,
status SMALLINT,
time_start INT,
time_end INT,
is_deleted BOOLEAN NOT NULL DEFAULT false,
created_at TIMESTAMPTZ DEFAULT now(),
updated_at TIMESTAMPTZ DEFAULT now()
);
CREATE UNIQUE INDEX idx_entities_slug_not_deleted
ON entities(slug)
WHERE is_deleted = false;
CREATE INDEX idx_entities_name_search
ON entities USING GIN (name gin_trgm_ops);
CREATE INDEX idx_entities_project_id ON entities(project_id);
CREATE INDEX idx_entities_time_range
ON entities USING GIST (int4range(time_start, time_end, '[]'))
WHERE is_deleted = false;
CREATE INDEX idx_entities_created_active
ON entities(created_at DESC)
WHERE is_deleted = false;
CREATE TRIGGER trigger_entities_updated_at
BEFORE UPDATE ON entities
FOR EACH ROW
EXECUTE FUNCTION update_updated_at();