CREATE TABLE "user" ( "id" int, "created_date" datetime, "email" varchar(255), "full_name" varchar(255), "display_name" varchar(255), "password" varchar(255), "role" int, "status" bool, "access_token" varchar(255), "access_token_expire_date" datetime ); CREATE TABLE "specialist" ( "user_id" int PRIMARY KEY, "profession" varchar(255), "working_city" varchar(255), FOREIGN KEY("user_id") REFERENCES "user" ("id") ); CREATE TABLE "patient" ( "user_id" int PRIMARY KEY, "age" int, "gender" int, FOREIGN KEY("user_id") REFERENCES "user" ("id") ); CREATE TABLE "category" ( "id" int, "name" varchar(255), "url_name" varchar(255), FOREIGN KEY("url_name") REFERENCES "url" ("name") ); CREATE TABLE "tag" ( "id" int, "name" varchar(255), "url_name" varchar(255), FOREIGN KEY("url_name") REFERENCES "url" ("name") ); CREATE TABLE "question" ( "id" int, "user_id" int, "created_date" datetime, "title" varchar(255), "statu" bool, "hit" int, FOREIGN KEY("user_id") REFERENCES "user" ("id") ); CREATE TABLE "message" ( "id" int, "question_id" int, "created_date" datetime, "user_id" int, "content" varchar(255), "statu" bool, "message_type" int, FOREIGN KEY("question_id") REFERENCES "question" ("id") ); CREATE TABLE "tag_question" ( "id" int, "tag_id" int, "question_id" int, FOREIGN KEY("tag_id") REFERENCES "tag" ("id"), FOREIGN KEY("question_id") REFERENCES "question" ("id") ); CREATE TABLE "category_tag" ( "id" int, "category_id" int, "tag_id" int, FOREIGN KEY("category_id") REFERENCES "category" ("id"), FOREIGN KEY("tag_id") REFERENCES "tag" ("id") ); CREATE TABLE "message_like" ( "id" int, "created_date" datetime, "message_id" int, "user_id" int, FOREIGN KEY("message_id") REFERENCES "message" ("id"), FOREIGN KEY("user_id") REFERENCES "user" ("id") );