---
# System prepended metadata

title: DB設計

---

# DB設計
## Credit card
|Column|Type|Options|
|------------|------------|------------|
|user_id|references|null: false, foreign_key: true|
|costomer_id|references|null: false, foreign_key: true|
|card_id|references |null: false, foreign_key: true|

### Association
- belongs_to :user


## Information
|Column|Type|Options|
|------------|------------|------------|
|user_id|references|null: false, foreign_key: true|
|text|text|null: false|

### Association
- has_many :users

## User
|Column|Type|Options|
|------------|------------|------------|
|nickname|string|null: false, unique: true, index|
|first_name|string|null: false|
|last_name|string|null: false|
|first_name_kana|string|null: false
|last_name_kana|string|null: false
|birthday|date|null: false|
|postal_code|integer|null: false|
|payment|string|null: false|
|email|string|null: false|
|phone|integer|null: false, foreign_key: true|
|password|string|null: false|
|money|integer|null: false|
|image|string|null: false|
|point|integer|null: false|

### Association
- has_many :evaluations
- has_one :credit_card
- has_many :informations
- has_many :items
- has_many :comments
- has_many :transactions, through user_transactions
- has_many :user_transactions
- has_many :messages
- has_one :address

## Message
|Column|Type|Options|
| ------------ | ------------ | ------------ |
|user_id|reference|null: false, foreign_key: true|
|body|text|null: false|
|transaction_id|reference|null: false, foreign_key: true|

### Association
- belongs_to :user
- belongs_to :transaction


## Comment
|Column|Type|Options|
| ------------ | ------------ | ------------ |
|item_id|reference|null: false, foreign_key: true|
|user_id|reference|null: false, foreign_key: true|
|text|text|null: false|

### Association
- belongs_to :user
- belongs_to :item

## Transaction
|Column|Type|Options|
| ------------ | ------------ | ------------ |
|status|string|null: false|
|item_id|reference|null: false, foreign_key: true|
|user_id|reference|null: false, foreign_key: true|
|total_fee|integer|null: false|

### Association
- has_many :messages
- belongs_to :item
- has_many :users, through :user_transaction
- has_many :user_transactions


## Evaluation
|Column|Type|Options|
| ------------ | ------------ | ------------ |
|good|integer|null: false|
|normal|integer|null: false|
|bad|integer|null: false|
|user_id|reference|null: false, foreign_key: true|


### Association
- belongs_to :user


## Item
|Column|Type|Options|
| ------------ | ------------ | ------------ |
|name|string|null: false, index|
|likes|integer|null: false|
|category|string|null: false, index|
|user_id|reference|null: false, foreign_key: true|
|price|integer|null: false|
|explanation|text||
|brand|string||
|condition|string|null: false|
|delivery_charge|string|null: false|
|shipping_origin|string|null: false|
|sending_days|integer|null: false|

### Association
- has_many :evaluation
- has_many :item_images
- belongs_to :transaction
- has_many :comments
- belongs_to :user

## User_transaction
|Column|Type|Options|
| ------------ | ------------ | ------------ |
|user_id|references|null: false, foreign_key: true|
|transaction_id|references|null: false, foreign_key: true|

### Association
- belongs_to :user
- belongs_to :transaction

## Category
|Column|Type|Options|
| ------------ | ------------ | ------------ |
|item_id|integer|null: false, foreign_key: true|
|big_category|string|null: false|
|middle_category|string|null: false|
|small_category|string|null: false|

### Association
- belongs_to :item

## Address
|Column|Type|Options|
| ------------ | ------------ | ------------ |
|prefecture|string|null: false|
|city|string|null: false|
|town|string|null: false|
|building|string||
|user_id|integer|null: false, foreign_key: true|

### Association
- has_many :user

## Item_image
|Column|Type|Options|
| ------------- | ----------- | ------------- |
|item_id|string|null: false, foreign_key: true|
|image|integer|null: false|

### Association
- belongs_to :item
