CREATE TABLE "user" ( "id" int, "email" varchar(255), "username" varchar(255), "password" varchar(255), "date_joined" datetime CONSTRAINT date_joined REFERENCES date(joined) ); CREATE TABLE "conversation" ( "id" int, "user_id" int CONSTRAINT user_id REFERENCES user(id), "date_created" datetime CONSTRAINT date_created REFERENCES date(created) ); CREATE TABLE "message" ( "id" int, "conversation_id" int CONSTRAINT conversation_id REFERENCES conversation(id), "body" varchar(255), "date_created" datetime CONSTRAINT date_created REFERENCES date(created) ); CREATE TABLE "recipient" ( "user_id" int CONSTRAINT user_id REFERENCES user(id), "conversation_id" int CONSTRAINT conversation_id REFERENCES conversation(id), "is_read" bool );