ваше сообщение коммита

This commit is contained in:
2025-07-11 16:45:09 +03:00
parent e0ec889863
commit 584ff401ad
42 changed files with 1945 additions and 1004 deletions

View File

@@ -1,13 +0,0 @@
-- Создание справочника тегов
CREATE TABLE IF NOT EXISTS tags (
id SERIAL PRIMARY KEY,
name VARCHAR(64) NOT NULL UNIQUE,
description TEXT
);
-- Создание связующей таблицы "пользователь — тег"
CREATE TABLE IF NOT EXISTS user_tags (
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
tag_id INTEGER NOT NULL REFERENCES tags(id) ON DELETE CASCADE,
PRIMARY KEY (user_id, tag_id)
);

View File

@@ -1,3 +1,3 @@
-- Добавление поля is_blocked и blocked_at для блокировки пользователя
ALTER TABLE users ADD COLUMN is_blocked boolean NOT NULL DEFAULT false;
ALTER TABLE users ADD COLUMN blocked_at timestamp;
ALTER TABLE users ADD COLUMN IF NOT EXISTS is_blocked BOOLEAN DEFAULT FALSE;
ALTER TABLE users ADD COLUMN IF NOT EXISTS blocked_at timestamp;

View File

@@ -0,0 +1,17 @@
-- Миграция: универсальная таблица связей для relation/reference/lookup/multiselect
CREATE TABLE IF NOT EXISTS user_table_relations (
id SERIAL PRIMARY KEY,
from_row_id INTEGER NOT NULL REFERENCES user_rows(id) ON DELETE CASCADE, -- строка-источник
column_id INTEGER NOT NULL REFERENCES user_columns(id) ON DELETE CASCADE, -- столбец, в котором хранится связь
to_table_id INTEGER NOT NULL REFERENCES user_tables(id) ON DELETE CASCADE, -- таблица-назначение
to_row_id INTEGER NOT NULL REFERENCES user_rows(id) ON DELETE CASCADE, -- строка-назначение
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Индексы для ускорения поиска и фильтрации
CREATE INDEX IF NOT EXISTS idx_user_table_relations_from_row ON user_table_relations(from_row_id);
CREATE INDEX IF NOT EXISTS idx_user_table_relations_column ON user_table_relations(column_id);
CREATE INDEX IF NOT EXISTS idx_user_table_relations_to_table ON user_table_relations(to_table_id);
CREATE INDEX IF NOT EXISTS idx_user_table_relations_to_row ON user_table_relations(to_row_id);

View File

@@ -0,0 +1,3 @@
-- Миграция: добавление поля placeholder в user_columns
ALTER TABLE user_columns ADD COLUMN IF NOT EXISTS placeholder VARCHAR(255) UNIQUE;

View File

@@ -0,0 +1,13 @@
-- Миграция: таблица связей пользователей и тегов
CREATE TABLE IF NOT EXISTS user_tag_links (
id SERIAL PRIMARY KEY,
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
tag_id INTEGER NOT NULL REFERENCES user_rows(id) ON DELETE CASCADE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
UNIQUE(user_id, tag_id)
);
-- Индексы для ускорения поиска
CREATE INDEX IF NOT EXISTS idx_user_tag_links_user_id ON user_tag_links(user_id);
CREATE INDEX IF NOT EXISTS idx_user_tag_links_tag_id ON user_tag_links(tag_id);

View File

@@ -0,0 +1,13 @@
-- Миграция: таблица связей пользователей и тегов
CREATE TABLE IF NOT EXISTS user_tag_links (
id SERIAL PRIMARY KEY,
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
tag_id INTEGER NOT NULL REFERENCES user_rows(id) ON DELETE CASCADE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
UNIQUE(user_id, tag_id)
);
-- Индексы для ускорения поиска
CREATE INDEX IF NOT EXISTS idx_user_tag_links_user_id ON user_tag_links(user_id);
CREATE INDEX IF NOT EXISTS idx_user_tag_links_tag_id ON user_tag_links(tag_id);