chore: init monorepo with GPL-3.0 license, docs, backend skeleton, frontend wiring
This commit is contained in:
commit
43cf0e277d
57 changed files with 5027 additions and 0 deletions
32
indexium-backend/migrations/20260906000000_init_schema.sql
Normal file
32
indexium-backend/migrations/20260906000000_init_schema.sql
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
-- Таблица модов (метаданные репозитория)
|
||||
CREATE TABLE IF NOT EXISTS mods (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
github_repo_id BIGINT UNIQUE NOT NULL,
|
||||
owner VARCHAR(255) NOT NULL,
|
||||
repo VARCHAR(255) NOT NULL,
|
||||
slug VARCHAR(64) UNIQUE NOT NULL,
|
||||
name VARCHAR(128) NOT NULL,
|
||||
summary TEXT,
|
||||
icon_url TEXT,
|
||||
default_branch VARCHAR(32) NOT NULL DEFAULT 'main',
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- Таблица версий (релизов), полученных через Webhook/API
|
||||
CREATE TABLE IF NOT EXISTS mod_versions (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
mod_id UUID NOT NULL REFERENCES mods(id) ON DELETE CASCADE,
|
||||
version_number VARCHAR(64) NOT NULL,
|
||||
game_versions VARCHAR(32)[] NOT NULL,
|
||||
loaders VARCHAR(32)[] NOT NULL,
|
||||
download_url TEXT NOT NULL,
|
||||
file_sha256 CHAR(64) NOT NULL,
|
||||
published_at TIMESTAMPTZ NOT NULL,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
CONSTRAINT unique_mod_version UNIQUE (mod_id, version_number)
|
||||
);
|
||||
|
||||
-- Индексы для быстрой фильтрации лаунчерами
|
||||
CREATE INDEX IF NOT EXISTS idx_mods_slug ON mods(slug);
|
||||
CREATE INDEX IF NOT EXISTS idx_versions_lookup ON mod_versions USING GIN (game_versions, loaders);
|
||||
Loading…
Add table
Add a link
Reference in a new issue