homework, pet project DE Dmitry_Medvedev #1

Open
dmitry_medvedev wants to merge 266 commits from md_branch into main
18 changed files with 45 additions and 0 deletions
Showing only changes of commit 69d49c501d - Show all commits
@@ -0,0 +1,45 @@
--DROP TABLE IF EXISTS users;
CREATE TABLE users (
id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
name varchar(100) NOT NULL,
age SMALLINT,
email varchar(100),
registration_date timestamptz NOT NULL
);
--DROP TABLE IF EXISTS courses;
CREATE TABLE courses (
id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
title varchar(150) NOT NULL,
category varchar(50),
created_at timestamptz NOT NULL
);
--DROP TABLE IF EXISTS lessons;
CREATE TABLE lessons (
id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
course_id bigint NOT NULL,
title varchar(150) NOT NULL,
duration_min SMALLINT NOT NULL,
FOREIGN KEY (course_id) REFERENCES courses(id)
);
--DROP TABLE IF EXISTS enrollments;
CREATE TABLE enrollments (
id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
user_id bigint NOT NULL,
course_id bigint NOT NULL,
enrolled_at timestamptz NOT NULL,
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (course_id) REFERENCES courses(id)
);
--DROP TABLE IF EXISTS lesson_views;
CREATE TABLE lesson_views (
id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
user_id bigint NOT NULL,
lesson_id bigint NOT NULL,
viewed_at timestamptz NOT NULL,
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (lesson_id) REFERENCES lessons(id)
);