###### tags: `高松コーディングブートキャンプ-オリジナルアプリ`
# テーブル設計
※以下3つの機能に大分。
* SHOP(顧客側)
* SHOP(編集者側)
* BLOG
## SHOP(顧客側)テーブル
### customers テーブル
| Column | Type | options |
| ------------------ | --------- | -------------------------- |
| email | string | null:false, default:"" |
| encrypted_password | string | null:false, default:"" |
| last_name | string | null:false |
| first_name | string | null:false |
| last_name_kana | string | null:false |
| first_name_kana | string | null:false |
| phone_numder | string | null:false |
| address_numder | string | null:false |
| city | string | null:false |
| address | string | null:false |
| building | string | null:false |
| birth_day | date | null:false |
| mailmagazine | boolean | null:false, default:"true" |
| last_login | timestamp | null:false |
#### Association
* has_many:orders
* has_many:reviews
#### 備考
* 性別はActiveHashで管理
男性/女性/指定無し
* last_name:苗字
* first_name:名前
<br />
---
## SHOP(編集者側)テーブル
### editors テーブル
| Column | Type | options |
| ------------------ | --------- | ---------------------- |
| email | string | null:false, default:"" |
| encrypted_password | string | null:false, default:"" |
| name | string | null:false |
| password | string | null:false |
| last_login | timestamp | null:false |
#### Association
* belongs_to :
* has_many :
<br />
---
## SHOP(商品関連)テーブル
### items テーブル
| Column | Type | options |
| ------------- | ------- | -------------------------- |
| price_no_tax | string | null:false |
| price_in_tax | string | null:false |
| name | string | null:false |
| tax_id | integer | null:false |
| URL_path | string | null:false |
| category | references | null:false,foreign_key:true |
| content | string | |
| visible | boolean | null:false, default:"true" |
#### Association
* belongs_to :
* has_many : reviews
* has_one:categories
* has_one_attached:image
※画像は取り急ぎ1枚だけ登録
#### 備考
* 消費税はActiveHashで管理
<br />
### categories テーブル
| Column | Type | options |
| --------- | ------- | -------------------------- |
| name | string | null:false |
| URL_path | string | null:false |
| item | references | null:false,foreign_key:true |
#### Association
* belongs_to :item
<br />
### orders テーブル
| Column | Type | options |
| -------- | ---------- | --------------------------- |
| customer | references | null:false,foreign_key:true |
| item | references | null:false,foreign_key:true |
| coupon | references | null:false,foreign_key:true |
#### Association
* belongs_to :
* has_many :
* has_one_attached : coupon
※クーポンの実装は先延ばし予定
#### 備考
* 送料はActiveHashで管理
3000円未満:500円
3000円以上:0円
※↑仮の設定
<br />
### reviews テーブル
| Column | Type | options |
| ------------ | -------- | ----------------------------- |
| nickname | text | null:false |
| content | text | null:false |
| customers_id | interger | null:false, foreign_key:true |
| star_rating | string | null:false |
| visible | boolean | null:false, default:"false" |
#### Association
* belongs_to : customer
* has_many :
#### 備考
* star_rating:5段階評価の星(★)の数
<br />
### coupons テーブル
※クーポンの実装は先延ばし予定
| Column | Type | options |
| ----------- | --------- | ---------- |
| content | text | null:false |
| start_at | timestamp | null:false |
| end_at | timestamp | null:false |
| off_rate | string | |
| off_price | string | |
| thumbnail | string | null:false |
#### Association
* belongs_to :
* has_many :
* has_one_attached : order
<br />
---
## BLOGテーブル
※MicroCMS(Headless CMS)で管理。
---