基本的なテーブル構造
users テーブル
Column |
Type |
Options |
nickname |
string |
null: false |
email |
string |
null: false, unique: true |
password_digest |
string |
null: false |
remember_digest |
string |
|
reset_digest |
string |
|
activation_digest |
string |
null: false |
activated |
boolean |
default: false |
activated_ad |
datetime |
null: false |
Association
- has_many :drinks
- has_many :comments
- has_many :trades
drinks テーブル
coffeeは不可算名刺なので初心者が扱うのが怖かった、、
Column |
Type |
Options |
name |
string |
null: false |
price |
integer |
null: false |
explain |
text |
null: false |
user_id |
integer |
null: false,foreign_key: true |
Association
- belongs_to :user
- has_many :comments
- has_many :tags,
- has_many :tags,through: :coffee_tags
- has_one :trade
tags テーブル
Column |
Type |
Options |
name |
string |
null: false |
- has_many :drinks
- has_many :tags,through: :coffee_tags
coffee_tags テーブル
Column |
Type |
Options |
drink_id |
integer |
null: false,foreign_key: true |
tag_id |
integer |
null: false,foreign_key: true |
- belongs_to :drink
- belongs_to :tag
comments テーブル
Column |
Type |
Options |
content |
text |
null: false |
user_id |
integer |
null: false,foreign_key: true |
drink_id |
integer |
null: false,foreign_key: true |
Association
- belongs_to :user
- belongs_to :drink
addresses テーブル
Column |
Type |
Options |
postal_code |
string |
null: false |
prefecture_id |
integer |
null: false |
city |
string |
null: false |
house_num |
string |
null: false |
building_name |
string |
|
phone_num |
string |
null:false,unique: true |
trade_id |
integer |
null:false,foreign_key: true |
Association
trades テーブル
Column |
Type |
Options |
user_id |
integer |
null: false,foreign_key: true |
drink_id |
integer |
null: false,foreign_key: true |
Association
- belongs_to :user
- belongs_to :drink
- has_one :address
次回は実際のコードに触れていきます