All checks were successful
Build and Release / release (push) Successful in 1m14s
26 lines
731 B
SQL
26 lines
731 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,
|
|
description TEXT,
|
|
status SMALLINT,
|
|
is_deleted BOOLEAN NOT NULL DEFAULT false,
|
|
created_at TIMESTAMPTZ DEFAULT now(),
|
|
updated_at TIMESTAMPTZ DEFAULT now()
|
|
);
|
|
|
|
|
|
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_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(); |