/
softailor
/
gridient
Обзор
Документация
Войти
/
softailor
/
gridient
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
db/PostgreSQL/01-init-auth.sql
53 строки
2 KB
Jenkins
Auto add
18 фев 2026, 10:19
18 фев 2026, 10:19
1e6c4f8
Код
Авторство
О чём код?
-- Инициализация базы данных для аутентификации -- Эта БД хранит данные аутентификации отдельно от основной БД Core -- ВАЖНО: Этот скрипт должен выполняться в контексте БД gridient_authentication \c gridient_authentication SET search_path TO public; -- Таблица пользователей аутентификации CREATE TABLE IF NOT EXISTS auth_users ( id SERIAL PRIMARY KEY, login VARCHAR(255) UNIQUE NOT NULL, password_hash TEXT NOT NULL, email VARCHAR(255), display_name VARCHAR(255), created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, last_login TIMESTAMP ); -- Таблица refresh токенов CREATE TABLE IF NOT EXISTS refresh_tokens ( id SERIAL PRIMARY KEY, user_login VARCHAR(255) NOT NULL, token VARCHAR NOT NULL UNIQUE, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, expires_at TIMESTAMP NOT NULL, FOREIGN KEY (user_login) REFERENCES auth_users(login) ON DELETE CASCADE ); -- Индексы для оптимизации CREATE INDEX IF NOT EXISTS idx_auth_users_login ON auth_users(login); CREATE INDEX IF NOT EXISTS idx_refresh_tokens_user_login ON refresh_tokens(user_login); CREATE INDEX IF NOT EXISTS idx_refresh_tokens_token ON refresh_tokens(token); CREATE INDEX IF NOT EXISTS idx_refresh_tokens_expires_at ON refresh_tokens(expires_at); -- Таблица токенов сброса пароля CREATE TABLE IF NOT EXISTS password_reset_tokens ( id SERIAL PRIMARY KEY, login VARCHAR(255) NOT NULL, token VARCHAR NOT NULL UNIQUE, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, expires_at TIMESTAMP NOT NULL, FOREIGN KEY (login) REFERENCES auth_users(login) ON DELETE CASCADE ); CREATE INDEX IF NOT EXISTS idx_password_reset_tokens_login ON password_reset_tokens(login); CREATE INDEX IF NOT EXISTS idx_password_reset_tokens_expires_at ON password_reset_tokens(expires_at); -- Добавление административного пользователя -- Пароль: 123456 INSERT INTO auth_users (login, password_hash, email, display_name, created_at, last_login) VALUES ('admin', '$2a$11$1u/TV7Cet8qsCBtr5dt7TOZSq8BGe8QSbqmJhb/QkhnhWiUdqAFuy', 'admin@example.com', 'Admin', CURRENT_TIMESTAMP, NULL) ON CONFLICT (login) DO NOTHING;