This repository has been archived on 2026-06-09. You can view files and clone it, but cannot push or open issues or pull requests.
wedding-app/apps/api/migrations/0001_initial.sql

45 lines
1.3 KiB
MySQL
Raw Normal View History

CREATE TABLE event_config (
id INTEGER PRIMARY KEY DEFAULT 1,
couple_names TEXT NOT NULL,
event_date TEXT,
cover_key TEXT,
gallery_visibility TEXT NOT NULL DEFAULT 'public',
moderation TEXT NOT NULL DEFAULT 'post',
max_file_mb INTEGER NOT NULL DEFAULT 500,
allow_video INTEGER NOT NULL DEFAULT 1,
max_video_seconds INTEGER NOT NULL DEFAULT 300,
welcome_message TEXT,
updated_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000)
);
INSERT INTO event_config (id, couple_names, max_file_mb, max_video_seconds, allow_video, moderation, gallery_visibility)
VALUES (1, 'Stefanie & Leandro', 500, 300, 1, 'post', 'public');
CREATE TABLE uploads (
id TEXT PRIMARY KEY,
storage_key TEXT NOT NULL,
thumbnail_key TEXT,
mime_type TEXT NOT NULL,
size_bytes INTEGER NOT NULL,
duration_seconds INTEGER,
author_name TEXT,
message TEXT,
status TEXT NOT NULL DEFAULT 'approved',
source TEXT NOT NULL DEFAULT 'guest',
ip_hash TEXT,
provider_upload_id TEXT,
created_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000),
approved_at INTEGER
);
CREATE INDEX idx_uploads_status_created ON uploads (status, created_at DESC);
CREATE INDEX idx_uploads_source ON uploads (source);
CREATE TABLE audit_log (
id TEXT PRIMARY KEY,
action TEXT NOT NULL,
actor TEXT,
payload TEXT,
created_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000)
);