J'ai créé un site EC en utilisant Ruby on Rails (-v 5.2). Cette fois, j'écrirai que j'ai fait quelque chose comme ça sur la conception de la base de données à ce moment-là.
Je faisais référence à "Vérification du scénario du système" sur le site ci-dessus.
Comme suit.
--Utiliser le nom du cas: le client commande un article
--Système Master
J'y pensais au début, mais depuis que j'ai commencé à le créer, je l'ai changé comme il convenait. Le mode de paiement est également la carte de crédit (en utilisant PAY.JP) uniquement.
Je m'inquiétais de ce qu'il fallait faire avec la table de panier pour la fonction de panier, qui est une fonction essentielle sur le site EC, et la table de détails de commande, mais je l'ai abandonnée comme table intermédiaire avec le sentiment suivant.
Quant à la table du chariot, il n'y a pas de colonnes autres que PK car elle ne sert que de chariot. Je ne l'ai pas mentionné dans le cas d'utilisation, mais je n'ai pas user_id (FK) car je souhaite utiliser la fonction panier même si je ne suis pas connecté.
users table
Column | Type | Options |
---|---|---|
nickname | string | null: false |
string | default: "", null: false | |
password | string | null: false |
encrypted_password | string | default: "", null: false |
reset_password_token | string | |
reset_password_token | string | |
admin | boolean | default: false |
Association
orders table
Column | Type | Options |
---|---|---|
user | references | foreign_key: true |
card | references | foreign_key: true |
product | references | foreign_key: true |
quantity | integer | null: false |
status | integer | default: 0, null: false |
postage | integer | default: 0, null: false |
price | integer | null: false |
Association
cards table
Column | Type | Options |
---|---|---|
customer_id | string | null: false |
card_id | string | null: false |
user_id | string | null: false |
Association
addresses table
Column | Type | Options |
---|---|---|
destination_family_name | string | null: false |
destination_first_name | string | null: false |
destination_family_name_kana | string | null: false |
destination_family_name_kana | string | null: false |
postcode | integer | null: false |
prefecture_code | string | null: false |
address_city | string | null: false |
address_street | string | null: false |
address_building | string | |
phone_number | bigint | |
user | references | foreign_key: true, null: false |
Association
brands table
Column | Type | Options |
---|---|---|
name | string |
Association has_many :products, dependent: :destroy
sexes table
Column | Type | Options |
---|---|---|
name | string |
Association has_many :products, dependent: :destroy
seasons table
Column | Type | Options |
---|---|---|
name | string |
Association has_many :products, dependent: :destroy
smell_impressions table
Column | Type | Options |
---|---|---|
name | string |
Association has_many :products, dependent: :destroy
smell_types table
Column | Type | Options |
---|---|---|
name | string |
Association has_many :products, dependent: :destroy
user_scenes table
Column | Type | Options |
---|---|---|
name | string |
Association has_many :products, dependent: :destroy
products table
Column | Type | Options |
---|---|---|
name | string | null: false |
namelap | string | null: false |
description | text | |
image | text | |
price | integer | |
stock_quantity | ||
brand | references | foreign_key: true |
sex | references | foreign_key: true |
season | references | foreign_key: true |
smell_type | references | foreign_key: true |
main_spice | references | foreign_key: true |
smell_impression | references | foreign_key: true |
use_scene | references | foreign_key: true |
Association
carts table
Column | Type | Options |
---|
Association has_many :line_items, dependent: :destroy
comments table
Column | Type | Options |
---|---|---|
user | references | foreign_key: true |
product | references | foreign_key: true |
text | text | null: false |
rate | float |
Association belongs_to :product belongs_to :user
order_details table
Column | Type | Options |
---|---|---|
product | references | foreign_key: true |
order | references | foreign_key: true |
quantity | integer | null: false |
Association
line_items table
Column | Type | Options |
---|---|---|
product | references | foreign_key: true |
cart | references | foreign_key: true |
quantity | integer | default: 0, null: false |
Association
Recommended Posts