14 lines
534 B
SQL
14 lines
534 B
SQL
-- Courses belong to a Program (CEFR-style labels like A1..C2 will be configured separately).
|
|
CREATE TABLE courses (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
program_id BIGINT NOT NULL REFERENCES programs (id) ON DELETE CASCADE,
|
|
name VARCHAR(255) NOT NULL,
|
|
description TEXT,
|
|
thumbnail TEXT,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMPTZ
|
|
);
|
|
|
|
CREATE INDEX idx_courses_program_id ON courses (program_id);
|
|
CREATE INDEX idx_courses_program_created ON courses (program_id, created_at DESC);
|