solidusio / solidusio/solidus

Wallet payment source FK targets `spree_users` after user class change

Open
#3,745 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

changelog:solidus_core
Dominant language
Ruby
Stars
5.3k
Forks
1.4k
Avg merge
1d 22h
Merged PRs (30d)
62

Description

Solidus Version:
2.10.2

To Reproduce

  1. After installing Solidus, run db:seed to get the default values installed and add a sample product to the store.
  2. Add the solidus_auth_devise gem and follow the instructions for setting Spree.user_class here: https://guides.solidus.io/developers/users/custom-authentication.html
  3. Drop the spree_users table from the DB since you'll be using your existing User class.
  4. Login with a test user, add the sample product to your cart and begin the checkout process. At the confirmation page, click 'Place Order' and you'll be presented with a SQLException: no such table: main.spree_users error.

Current behavior
The order should be completed successfully. Instead, an SQLException: no such table: main.spree_users error is thrown.

Expected behavior
The user should be able to successfully checkout / purchase their cart items.

Desktop (please complete the following information):

  • OS: MacOS Catalina 10.15.6
  • Chrome
  • Version 84.0.4147.105

Additional context
Log output is available here: https://gist.github.com/paulsingh/ab49d1977219971f72430351ffecc875

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue by running db:seed, configuring solidus_auth_devise with a custom Spree.user_class, removing spree_users, and placing an order through checkout. Inspect the linked log and trace the wallet payment source foreign key that still targets spree_users; done means checkout completes successfully without that table.

Written by the indexing model from the issue text.

Assessment

Tech stack
rails, ruby
Domain
backend, database
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.