This commit is contained in:
2025-11-16 12:36:02 +09:00
parent 3a25e6a4cb
commit eb3f3807fd
61 changed files with 1438 additions and 1139 deletions

34
scripts/init_postgres.sql Normal file
View File

@@ -0,0 +1,34 @@
-- Инициализация PostgreSQL для Lottery Bot
-- Создание пользователя для приложения (если не существует)
DO $$
BEGIN
IF NOT EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = 'lottery_app') THEN
CREATE ROLE lottery_app LOGIN PASSWORD 'lottery_app_password';
END IF;
END
$$;
-- Предоставление прав
GRANT CONNECT ON DATABASE lottery_bot TO lottery_app;
GRANT USAGE ON SCHEMA public TO lottery_app;
GRANT CREATE ON SCHEMA public TO lottery_app;
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO lottery_app;
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO lottery_app;
-- Установка прав по умолчанию для новых таблиц
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO lottery_app;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT USAGE, SELECT ON SEQUENCES TO lottery_app;
-- Создание индексов для оптимизации производительности
-- (будут созданы после создания таблиц через Alembic)
-- Включение расширений
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE EXTENSION IF NOT EXISTS "pg_stat_statements";
-- Настройка для мониторинга
CREATE EXTENSION IF NOT EXISTS "pg_stat_monitor";
-- Комментарии
COMMENT ON DATABASE lottery_bot IS 'Lottery Bot Database - Telegram Bot for Lottery Management';