267 lines
7.5 KiB
Plaintext
267 lines
7.5 KiB
Plaintext
// Users table with auth fields
|
|
Table Users {
|
|
// system field
|
|
id text [pk]
|
|
tokenKey text [not null]
|
|
created datetime [default: `now()`]
|
|
updated datetime
|
|
password text [not null]
|
|
|
|
// value field
|
|
email text [not null]
|
|
emailVisibility boolean
|
|
verified boolean
|
|
name text
|
|
avatar file
|
|
}
|
|
|
|
// LessonTypes stores different types of lessons
|
|
// lesson_types, lesson_type
|
|
Table LessonTypes {
|
|
// system field
|
|
id text [pk] // changed from int to text
|
|
created datetime [default: `now()`] // timestamp when the lesson type was created
|
|
updated datetime // timestamp when the lesson type was last updated
|
|
// value field
|
|
name text // changed from varchar to text
|
|
type text // changed from varchar to text
|
|
pos integer
|
|
visible text
|
|
field date
|
|
}
|
|
|
|
|
|
// LessonCategories stores categories of lessons
|
|
// lesson_categories, lesson_category
|
|
Table LessonCategories {
|
|
// system field
|
|
id text [pk] // changed from int to text
|
|
created datetime [default: `now()`] // timestamp when the category was created
|
|
updated datetime // timestamp when the category was last updated
|
|
// value field
|
|
cat_name text // changed from varchar to text
|
|
cat_image_url text // new field
|
|
cat_image file // changed from varchar to file
|
|
pos integer
|
|
lesson_id integer [ref: > LessonTypes.id] // foreign key referencing LessonTypes.id
|
|
description text // new field
|
|
remarks text // changed from varchar to text
|
|
visible text // new field
|
|
}
|
|
|
|
Table Helloworlds {
|
|
// system field
|
|
id text [pk] // changed from int to text
|
|
created datetime [default: `now()`] // record create time
|
|
updated datetime // record update time
|
|
hello text // new field
|
|
}
|
|
|
|
Table UserMetas {
|
|
// system field
|
|
id text [pk] // changed from int to text
|
|
created datetime [default: `now()`]
|
|
updated datetime
|
|
|
|
// value field
|
|
helloworld text // changed from varchar to text
|
|
meta json // new field
|
|
user_id text [ref: > Users.id] // changed type and reference
|
|
state text // new field
|
|
avatar file // changed from blob to file
|
|
role text // new field
|
|
}
|
|
|
|
Table QuizCategories {
|
|
// system field
|
|
id text [pk] // changed from int to text
|
|
created datetime [default: `now()`]
|
|
updated datetime
|
|
|
|
// value field
|
|
cat_name text // changed from varchar to text
|
|
cat_image text // changed from varchar to text
|
|
init_answer json // new field
|
|
}
|
|
|
|
|
|
// stores all questions of matching frenzy
|
|
Table QuizMatchings {
|
|
// system field
|
|
id text [pk] // changed from int to text
|
|
created datetime [default: `now()`] // record create time
|
|
updated datetime // record update time
|
|
|
|
// value field
|
|
word text // changed from varchar to text
|
|
word_c text // changed from varchar to text
|
|
cat_id text [ref: > QuizCategories.id] // changed type and reference
|
|
}
|
|
|
|
// QuizListening stores all listening quiz data
|
|
Table QuizListenings {
|
|
// system field
|
|
id text [pk] // changed from int to text
|
|
created datetime [default: `now()`] // record create time
|
|
updated datetime // record update time
|
|
|
|
// value field
|
|
sound file // changed from varchar to file
|
|
word text // changed from varchar to text
|
|
cat_id text [ref: > QuizCategories.id] // changed type and reference
|
|
}
|
|
|
|
|
|
// stores all categories of connectives revision quiz
|
|
Table QuizConnectivesCategories {
|
|
// system field
|
|
id text [pk] // changed from int to text
|
|
created datetime [default: `now()`] // record create time
|
|
updated datetime // record update time
|
|
|
|
// value field
|
|
cat_name text // changed from varchar to text
|
|
cat_image file // changed from varchar to file
|
|
}
|
|
|
|
// stores all questions of connectives revision quiz
|
|
Table QuizConnectives {
|
|
// system field
|
|
id text [pk] // changed from int to text
|
|
created datetime [default: `now()`] // record create time
|
|
updated datetime // record update time
|
|
|
|
// value field
|
|
question_fh text // changed from varchar to text
|
|
question_sh text // changed from varchar to text
|
|
modal_ans text // changed from varchar to text
|
|
cat_id text [ref: > QuizConnectivesCategories.id] // changed type and reference
|
|
}
|
|
|
|
// Lessons stores all lessons in the database
|
|
Table Vocabularies {
|
|
// system field
|
|
id text [pk] // changed from int to text
|
|
created datetime [default: `now()`] // timestamp when the lesson was created
|
|
updated datetime // timestamp when the lesson was last updated
|
|
|
|
// value field
|
|
image file // changed from varchar to file
|
|
sound file // changed from varchar to file
|
|
word text // changed from varchar to text
|
|
word_c text // changed from varchar to text
|
|
sample_e text // changed from varchar to text
|
|
sample_c text // changed from varchar to text
|
|
cat_id text [ref: > LessonCategories.id] // changed type and reference
|
|
category text // changed from varchar to text
|
|
lesson_type_id text [ref: > LessonTypes.id] // changed type and reference
|
|
}
|
|
|
|
// Listening Practice Quiz Categories
|
|
// store listening practice category, (LpCategories, LpCategory)
|
|
Table QuizLPCategories {
|
|
// system fields
|
|
id text [pk]
|
|
created datetime [default: `now()`]
|
|
updated datetime
|
|
|
|
// value fields
|
|
cat_name text
|
|
cat_image file
|
|
pos number
|
|
init_answer json
|
|
visible text
|
|
slug text
|
|
remarks text
|
|
description text
|
|
}
|
|
|
|
// Listening Practice Quiz Questions
|
|
Table QuizLPQuestions {
|
|
id text [pk] // changed from int to text
|
|
created datetime [default: `now()`]
|
|
updated datetime
|
|
word text // changed from varchar to text
|
|
sound file // changed from blob to file
|
|
cat_id text [ref: > QuizLPCategories.id] // changed type and reference
|
|
cat_name text // new field
|
|
cat_image file // new field
|
|
pos number // new field
|
|
init_answer json // new field
|
|
visible text // new field
|
|
slug text // new field
|
|
remarks text // new field
|
|
description text // new field
|
|
}
|
|
|
|
// Matching Frenzy Quiz Categories
|
|
Table QuizMFCategories {
|
|
id text [pk] // changed from int to text
|
|
created datetime [default: `now()`]
|
|
updated datetime
|
|
cat_name text // changed from varchar to text
|
|
cat_image file // changed from blob to file
|
|
pos number // changed from integer to number
|
|
init_answer json
|
|
visible text // new field
|
|
}
|
|
|
|
// Matching Frenzy Quiz Questions
|
|
Table QuizMFQuestions {
|
|
id text [pk] // changed from int to text
|
|
created datetime [default: `now()`]
|
|
updated datetime
|
|
word text // changed from varchar to text
|
|
word_c text // changed from varchar to text
|
|
cat_id text [ref: > QuizMFCategories.id] // changed type and reference
|
|
visible text // new field
|
|
sound file // new field
|
|
cat_image file // new field
|
|
}
|
|
|
|
// Connectives Revision Quiz Categories
|
|
Table QuizCRCategories {
|
|
id text [pk] // changed from int to text
|
|
created datetime [default: `now()`]
|
|
updated datetime
|
|
cat_name text // changed from varchar to text
|
|
cat_image file // changed from blob to file
|
|
pos integer
|
|
init_answer json
|
|
}
|
|
|
|
// Connectives Revision Quiz Questions
|
|
Table QuizCRQuestions {
|
|
id text [pk] // changed from int to text
|
|
created datetime [default: `now()`]
|
|
updated datetime
|
|
question_fh text // changed from varchar to text
|
|
question_sh text // changed from varchar to text
|
|
modal_ans text // changed from varchar to text
|
|
cat_id text [ref: > QuizCRCategories.id] // changed type and reference
|
|
options json // new field
|
|
}
|
|
|
|
// Test table
|
|
Table t1 {
|
|
id text [pk] // changed from int to text
|
|
created datetime [default: `now()`]
|
|
updated datetime
|
|
hello text // changed from name to hello
|
|
test_file file // new field
|
|
}
|
|
|
|
// Customers table
|
|
Table Customers {
|
|
id text [pk] // new table
|
|
created datetime [default: `now()`]
|
|
updated datetime
|
|
name text
|
|
email text
|
|
phone text
|
|
quota number
|
|
status text
|
|
avatar_file file
|
|
cat_id text [ref: > QuizMFCategories.id] // refer to a single user in `Users` table
|
|
}
|