feat: add tags, albums, and audit log tables
This commit is contained in:
34
packages/db/migrations/0004_tags_albums_audit.sql
Normal file
34
packages/db/migrations/0004_tags_albums_audit.sql
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
CREATE TABLE IF NOT EXISTS tags (
|
||||||
|
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||||
|
name text NOT NULL UNIQUE,
|
||||||
|
created_at timestamptz NOT NULL DEFAULT now()
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS asset_tags (
|
||||||
|
asset_id uuid NOT NULL REFERENCES assets(id) ON DELETE CASCADE,
|
||||||
|
tag_id uuid NOT NULL REFERENCES tags(id) ON DELETE CASCADE,
|
||||||
|
PRIMARY KEY(asset_id, tag_id)
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS albums (
|
||||||
|
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||||
|
name text NOT NULL,
|
||||||
|
created_at timestamptz NOT NULL DEFAULT now()
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS album_assets (
|
||||||
|
album_id uuid NOT NULL REFERENCES albums(id) ON DELETE CASCADE,
|
||||||
|
asset_id uuid NOT NULL REFERENCES assets(id) ON DELETE CASCADE,
|
||||||
|
ord int,
|
||||||
|
PRIMARY KEY(album_id, asset_id)
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS audit_log (
|
||||||
|
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||||
|
actor text NOT NULL,
|
||||||
|
action text NOT NULL,
|
||||||
|
entity_type text NOT NULL,
|
||||||
|
entity_id uuid,
|
||||||
|
payload jsonb,
|
||||||
|
created_at timestamptz NOT NULL DEFAULT now()
|
||||||
|
);
|
||||||
Reference in New Issue
Block a user