summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/models/user_account.rb1
-rw-r--r--db/migrate/20230405013826_create_carts.rb5
-rw-r--r--db/schema.rb7
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