# 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, -- 論理削除用 ); ```