/
kleara
/
KlearaFintech-MVP
Обзор
Документация
Войти
/
kleara
/
KlearaFintech-MVP
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
init-db/01-init.sql
50 строк
2 KB
Eugene Nefediev
Initial commit: Kleara MVP
05 фев 2026, 15:05
05 фев 2026, 15:05
ce56b07
Код
Авторство
О чём код?
-- Скрипт инициализации базы данных -- Выполняется при первом запуске контейнера -- Создаем пользователя если не существует (на всякий случай) DO $$ BEGIN IF NOT EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = 'postgres') THEN CREATE USER postgres WITH PASSWORD 'password123'; END IF; END $$; -- Даем права ALTER USER postgres WITH SUPERUSER; -- Создаем базу данных если не существует SELECT 'CREATE DATABASE payments' WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'payments')\gexec -- Подключаемся к базе payments \c payments -- Создаем таблицы CREATE TABLE IF NOT EXISTS users ( id SERIAL PRIMARY KEY, email VARCHAR(255) UNIQUE NOT NULL, name VARCHAR(255), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS transactions ( id SERIAL PRIMARY KEY, sender VARCHAR(255) NOT NULL, receiver VARCHAR(255) NOT NULL, amount DECIMAL(10, 2) NOT NULL, currency VARCHAR(3) DEFAULT 'USD', status VARCHAR(50) DEFAULT 'pending', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- Тестовые данные INSERT INTO users (email, name) VALUES ('test1@example.com', 'Test User 1'), ('test2@example.com', 'Test User 2') ON CONFLICT (email) DO NOTHING; INSERT INTO transactions (sender, receiver, amount, status) VALUES ('test1@example.com', 'test2@example.com', 100.00, 'completed'), ('test2@example.com', 'test1@example.com', 50.00, 'pending') ON CONFLICT DO NOTHING;