diff options
-rw-r--r-- | app/models/user_account.rb | 1 | ||||
-rw-r--r-- | db/migrate/20230405013826_create_carts.rb | 5 | ||||
-rw-r--r-- | db/schema.rb | 7 |
3 files changed, 9 insertions, 4 deletions
diff --git a/app/models/user_account.rb b/app/models/user_account.rb index 0fe5c3d..3e05056 100644 --- a/app/models/user_account.rb +++ b/app/models/user_account.rb @@ -8,6 +8,7 @@ # session_key: string class UserAccount < ApplicationRecord has_secure_password validations: false + has_one :cart, dependent: :destroy has_many :user_account_addresses, dependent: :destroy has_many :addresses, through: :user_account_addresses has_many :cards, dependent: :destroy diff --git a/db/migrate/20230405013826_create_carts.rb b/db/migrate/20230405013826_create_carts.rb index 8975e61..f66e030 100644 --- a/db/migrate/20230405013826_create_carts.rb +++ b/db/migrate/20230405013826_create_carts.rb @@ -1,9 +1,10 @@ class CreateCarts < ActiveRecord::Migration[7.0] def change create_table :carts do |t| - t.belongs_to :user_account, null: false, index: { unique: true }, foreign_key: true - t.timestamps end + + add_reference :user_accounts, :cart, foreign_key: true + add_reference :carts, :user_account, foreign_key: true end end diff --git a/db/schema.rb b/db/schema.rb index b974771..4020c8d 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -62,10 +62,10 @@ ActiveRecord::Schema[7.0].define(version: 2023_04_05_015505) do end create_table "carts", charset: "utf8mb4", collation: "utf8mb4_general_ci", force: :cascade do |t| - t.bigint "user_account_id", null: false t.datetime "created_at", null: false t.datetime "updated_at", null: false - t.index ["user_account_id"], name: "index_carts_on_user_account_id", unique: true + t.bigint "user_account_id" + t.index ["user_account_id"], name: "index_carts_on_user_account_id" end create_table "companies", charset: "utf8mb4", collation: "utf8mb4_general_ci", force: :cascade do |t| @@ -131,6 +131,8 @@ ActiveRecord::Schema[7.0].define(version: 2023_04_05_015505) do t.datetime "created_at", null: false t.datetime "updated_at", null: false t.string "role" + t.bigint "cart_id" + t.index ["cart_id"], name: "index_user_accounts_on_cart_id" end add_foreign_key "active_storage_attachments", "active_storage_blobs", column: "blob_id" @@ -140,4 +142,5 @@ ActiveRecord::Schema[7.0].define(version: 2023_04_05_015505) do add_foreign_key "product_reviews", "products" add_foreign_key "product_reviews", "user_accounts" add_foreign_key "products", "companies" + add_foreign_key "user_accounts", "carts" end |