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