Добавил еще немного

This commit is contained in:
ProstoDenya01
2026-02-25 22:56:44 +03:00
parent e44ac04cac
commit 94aa164930
6 changed files with 48 additions and 36 deletions

View File

@@ -1,5 +1,8 @@
CREATE EXTENSION IF NOT EXISTS pgcrypto;
-- =====================================================
-- 1. Таблица users
-- =====================================================
CREATE TABLE IF NOT EXISTS users (
id BIGSERIAL PRIMARY KEY,
username VARCHAR(50) UNIQUE NOT NULL,
@@ -7,39 +10,48 @@ CREATE TABLE IF NOT EXISTS users (
role VARCHAR(20) NOT NULL DEFAULT 'STUDENT'
);
-- Админ по умолчанию: admin / admin (bcrypt через pgcrypto)
-- Админ по умолчанию
INSERT INTO users (username, password, role)
VALUES ('admin', crypt('admin', gen_salt('bf', 10)), 'ADMIN')
ON CONFLICT (username) DO NOTHING;
-- =====================================================
-- 2. Таблица education_forms
-- =====================================================
CREATE TABLE IF NOT EXISTS education_forms (
id BIGSERIAL PRIMARY KEY,
name VARCHAR(100) UNIQUE NOT NULL
);
INSERT INTO education_forms (name) VALUES ('Бакалавриат'), ('Магистратура'), ('Специалитет')
INSERT INTO education_forms (name)
VALUES ('Бакалавриат'), ('Магистратура'), ('Специалитет')
ON CONFLICT (name) DO NOTHING;
-- =====================================================
-- 3. Таблица student_groups
-- =====================================================
CREATE TABLE IF NOT EXISTS student_groups (
id BIGSERIAL PRIMARY KEY,
name VARCHAR(100) UNIQUE NOT NULL,
education_form_id BIGINT NOT NULL REFERENCES education_forms(id)
);
-- =====================================================
-- 4. Таблица lessons (ЭТА ЧАСТЬ БЫЛА ИСПОРЧЕНА)
-- =====================================================
CREATE TABLE IF NOT EXISTS lessons (
id BIGSERIAL PRIMARY KEY,
teacher_id BIGINT NOT NULL,
group_id BIGINT NOT NULL,
lesson_id BIGINT NOT NULL,
discipline_id BIGINT NOT NULL,
day VARCHAR(255) NOT NULL,
week VARCHAR(255) NOT NULL,
time VARCHAR(255) NOT NULL
);
ALTER TABLE lessons
ADD CONSTRAINT fk_lessons_teacher
-- Добавляем внешние ключи
ALTER TABLE lessons ADD CONSTRAINT fk_lessons_teacher
FOREIGN KEY (teacher_id) REFERENCES users(id);
ALTER TABLE lessons
ADD CONSTRAINT fk_lessons_group
ALTER TABLE lessons ADD CONSTRAINT fk_lessons_group
FOREIGN KEY (group_id) REFERENCES student_groups(id);