Добавил еще немного
This commit is contained in:
@@ -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);
|
||||
Reference in New Issue
Block a user