| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- -- Your SQL goes here
- CREATE TYPE TStatus AS ENUM ('disable','private','public');
- CREATE TYPE TContentType AS ENUM ('text','markdown','html');
- CREATE TABLE courses
- (
- id SERIAL PRIMARY KEY,
- uid VARCHAR(36) NOT NULL,
- parent_id INTEGER ,
- pr_parent_id INTEGER ,
-
- cover VARCHAR(255),
- title VARCHAR(255) NOT NULL,
- subtitle VARCHAR(255),
- summary VARCHAR(1024),
- teacher_id INTEGER,
- lang VARCHAR (16) NOT NULL DEFAULT('en'),
- speech_lang VARCHAR (16) NOT NULL DEFAULT('en'),
- lesson_num INTEGER NOT NULL DEFAULT(0),
- start_at TIMESTAMP ,
- end_at TIMESTAMP ,
-
- content TEXT ,
- content_type TContentType NOT NULL DEFAULT('markdown'),
-
- status TStatus NOT NULL DEFAULT('private'),
- editor_id INTEGER NOT NULL,
- studio_id INTEGER NOT NULL,
- owner_id INTEGER NOT NULL,
- version INTEGER NOT NULL DEFAULT (1),
- deleted_at TIMESTAMP ,
- created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
- updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
- );
- CREATE INDEX courses_title ON courses (title);
- CREATE INDEX courses_lang ON courses (lang);
- CREATE INDEX courses_status ON courses (status);
- CREATE INDEX courses_lang_status ON courses (lang,status);
- CREATE UNIQUE INDEX courses_uid ON courses (uid);
|