Tracks chapter locking statuses for users. Status “unlocked” means student can work on exercises. Status “completed_and_locked” means chapter is done and exercises are locked again. Status “not_unlocked_yet” means chapter is locked because previous chapters are not completed.
| Name | Type | Default | Nullable | Children | Parents | Comment |
|---|---|---|---|---|---|---|
| chapter_id | uuid | false | public.chapters | |||
| course_id | uuid | false | public.courses | |||
| created_at | timestamp with time zone | now() | false | |||
| deleted_at | timestamp with time zone | true | ||||
| id | uuid | uuid_generate_v4() | false | |||
| status | chapter_locking_status | false | unlocked: student can work on exercises. completed_and_locked: chapter is done, exercises are locked. not_unlocked_yet: chapter is locked, previous chapters not completed. | |||
| updated_at | timestamp with time zone | now() | false | |||
| user_id | uuid | false | public.users |
| Name | Type | Definition |
|---|---|---|
| idx_user_chapter_locking_statuses_user_chapter_active | UNIQUE | UNIQUE NULLS NOT DISTINCT (user_id, chapter_id, deleted_at) |
| user_chapter_locking_statuses_chapter_id_fkey | FOREIGN KEY | FOREIGN KEY (chapter_id) REFERENCES chapters(id) |
| user_chapter_locking_statuses_chapter_id_not_null | n | NOT NULL chapter_id |
| user_chapter_locking_statuses_course_id_fkey | FOREIGN KEY | FOREIGN KEY (course_id) REFERENCES courses(id) |
| user_chapter_locking_statuses_course_id_not_null | n | NOT NULL course_id |
| user_chapter_locking_statuses_created_at_not_null | n | NOT NULL created_at |
| user_chapter_locking_statuses_id_not_null | n | NOT NULL id |
| user_chapter_locking_statuses_pkey | PRIMARY KEY | PRIMARY KEY (id) |
| user_chapter_locking_statuses_status_not_null | n | NOT NULL status |
| user_chapter_locking_statuses_updated_at_not_null | n | NOT NULL updated_at |
| user_chapter_locking_statuses_user_id_fkey | FOREIGN KEY | FOREIGN KEY (user_id) REFERENCES users(id) |
| user_chapter_locking_statuses_user_id_not_null | n | NOT NULL user_id |
| Name | Definition |
|---|---|
| idx_user_chapter_locking_statuses_chapter_id | CREATE INDEX idx_user_chapter_locking_statuses_chapter_id ON public.user_chapter_locking_statuses USING btree (chapter_id) |
| idx_user_chapter_locking_statuses_course_id | CREATE INDEX idx_user_chapter_locking_statuses_course_id ON public.user_chapter_locking_statuses USING btree (course_id) |
| idx_user_chapter_locking_statuses_user_chapter_active | CREATE UNIQUE INDEX idx_user_chapter_locking_statuses_user_chapter_active ON public.user_chapter_locking_statuses USING btree (user_id, chapter_id, deleted_at) NULLS NOT DISTINCT |
| idx_user_chapter_locking_statuses_user_course | CREATE INDEX idx_user_chapter_locking_statuses_user_course ON public.user_chapter_locking_statuses USING btree (user_id, course_id) WHERE (deleted_at IS NULL) |
| idx_user_chapter_locking_statuses_user_id | CREATE INDEX idx_user_chapter_locking_statuses_user_id ON public.user_chapter_locking_statuses USING btree (user_id) |
| user_chapter_locking_statuses_pkey | CREATE UNIQUE INDEX user_chapter_locking_statuses_pkey ON public.user_chapter_locking_statuses USING btree (id) |
| Name | Definition |
|---|---|
| set_timestamp | CREATE TRIGGER set_timestamp BEFORE UPDATE ON public.user_chapter_locking_statuses FOR EACH ROW EXECUTE FUNCTION trigger_set_timestamp() |
Generated by tbls