feat: move migrations

Signed-off-by: kjuulh <contact@kjuulh.io>
This commit is contained in:
2026-02-27 12:02:52 +01:00
parent aaca10fc9d
commit a716bce757
4 changed files with 68 additions and 2 deletions

View File

@@ -0,0 +1,29 @@
CREATE TABLE multipart_uploads (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
bucket_id UUID NOT NULL REFERENCES buckets(id) ON DELETE CASCADE,
key TEXT NOT NULL,
upload_id TEXT NOT NULL,
content_type TEXT NOT NULL DEFAULT 'application/octet-stream',
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE UNIQUE INDEX idx_multipart_upload_id ON multipart_uploads (upload_id);
CREATE INDEX idx_multipart_bucket ON multipart_uploads (bucket_id);
CREATE TABLE multipart_upload_metadata (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
upload_id UUID NOT NULL REFERENCES multipart_uploads(id) ON DELETE CASCADE,
meta_key TEXT NOT NULL,
meta_value TEXT NOT NULL
);
CREATE UNIQUE INDEX idx_mp_meta_key ON multipart_upload_metadata (upload_id, meta_key);
CREATE TABLE upload_parts (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
upload_id UUID NOT NULL REFERENCES multipart_uploads(id) ON DELETE CASCADE,
part_number INT NOT NULL,
data BYTEA NOT NULL,
size BIGINT NOT NULL,
etag TEXT NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE UNIQUE INDEX idx_upload_parts_num ON upload_parts (upload_id, part_number);