23 lines
642 B
SQL
23 lines
642 B
SQL
CREATE TABLE IF NOT EXISTS entity_types (
|
|
id SMALLSERIAL PRIMARY KEY,
|
|
name TEXT UNIQUE NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS entities (
|
|
id UUID PRIMARY KEY DEFAULT uuidv7(),
|
|
type_id SMALLINT REFERENCES entity_types(id),
|
|
name TEXT NOT NULL,
|
|
slug TEXT UNIQUE,
|
|
description TEXT,
|
|
thumbnail_url TEXT,
|
|
status SMALLINT DEFAULT 1, -- 1 draft, 2 published
|
|
created_at TIMESTAMPTZ DEFAULT now(),
|
|
updated_at TIMESTAMPTZ DEFAULT now()
|
|
);
|
|
|
|
CREATE INDEX idx_entities_slug ON entities(slug);
|
|
|
|
CREATE TRIGGER trigger_entities_updated_at
|
|
BEFORE UPDATE ON entities
|
|
FOR EACH ROW
|
|
EXECUTE FUNCTION update_updated_at(); |