# DB設計
``` sql
CREATE TABLE `accout` (
`id` INTEGER AUTOINCREMENT PRIMARYKEY,
`screen_name` STRING, -- @以降
`name` STRING, -- なまえ
`create_time` NOT NULL TIME,
`update_time` NOT NULL TIME,
`delete_time` TIME, -- 論理削除用
`description` STRING,
`header_img` STRING,
`icon_img` STRING,
-- TODO: おいおい決める: 誕生日, 場所
);
CREATE TABLE `following` (
`id` INTEGER AUTOINCREMENT PRIMARYKEY,
`from_account_id` INTEGER, -- フォローするAccount
`to_account_id` INTEGER, -- フォローされるAccount
`create_time` NOT NULL TIME,
`delete_time` TIME, -- 論理削除用
);
CREATE TABLE `tweet` (
`id` INTEGER AUTOINCREMENT PRIMARYKEY,
`text` STRING,
`create_time` NOT NULL TIME,
`delete_time` TIME, -- 論理削除用
);
CREATE TABLE `tweet_to_media` (
`id` INTEGER AUTOINCREMENT PRIMARYKEY,
`tweet_id` INTEGER,
`media_id` INTEGER,
);
CREATE TABLE `media` (
`id` INTEGER AUTOINCREMENT PRIMARYKEY,
`object` STRING, -- TODO: AWS S3側でバケットの中のオブジェクトがどう扱われるかを調査
`order` INTEGER -- じゅんじょよう
);
CREATE TABLE `favorite` (
`id` INTEGER AUTOINCREMENT PRIMARYKEY,
`account_id` INTEGER,
`tweet_id` INTEGER,
`create_time` NOT NULL TIME,
`delete_time` TIME, -- 論理削除用
);
CREATE TABLE `retweet` (
`id` INTEGER AUTOINCREMENT PRIMARYKEY,
`account_id` INTEGER,
`tweet_id` INTEGER,
`create_time` NOT NULL TIME,
`delete_time` TIME, -- 論理削除用
);
```