/* * Copyright 2026 Oleg Borodin * * This work is published and licensed under a Creative Commons * Attribution-NonCommercial-NoDerivatives 4.0 International License. * * Distribution of this work is permitted, but commercial use and * modifications are strictly prohibited. */ package maindb const schema = ` CREATE TABLE IF NOT EXISTS file ( id VARCHAR(255) NOT NULL, collection VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, type VARCHAR(255) NOT NULL, checksum VARCHAR(255) NOT NULL, size INTEGER, created_at VARCHAR(255) NOT NULL, updated_at VARCHAR(255) NOT NULL, created_by VARCHAR(255) NOT NULL, updated_by VARCHAR(255) NOT NULL ); CREATE UNIQUE INDEX IF NOT EXISTS file_index ON file(collection, name); --- DROP TABLE IF EXISTS manifests; CREATE TABLE IF NOT EXISTS manifests ( id VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, reference VARCHAR(255) NOT NULL, digest VARCHAR(1024) NOT NULL, contentType VARCHAR(255) NOT NULL, payload VARCHAR(4096) NOT NULL, created_at VARCHAR(255) NOT NULL, updated_at VARCHAR(255) NOT NULL, created_by VARCHAR(255) NOT NULL, updated_by VARCHAR(255) NOT NULL ); CREATE UNIQUE INDEX IF NOT EXISTS manifest_index ON manifests(name, reference); CREATE TABLE IF NOT EXISTS blobs ( id VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, reference VARCHAR(255) NOT NULL, mediaType VARCHAR(255) NOT NULL, digest VARCHAR(255) NOT NULL, size INTEGER NOT NULL, created_at VARCHAR(255) NOT NULL, updated_at VARCHAR(255) NOT NULL, created_by VARCHAR(255) NOT NULL, updated_by VARCHAR(255) NOT NULL ); CREATE UNIQUE INDEX IF NOT EXISTS blobs_index ON blobs(name, reference, digest); `