v1.7.0
Version 1.7.0
of Medusa introduces a breaking change in the CustomerService.
Overview
In this new version, the method retrieveByEmail
in the Customer Service has been deprecated in favor of other methods. Read the actions required below to learn which methods to use instead.
In addition, after introducing the Claim Order feature, this version of Medusa introduces changes in the database that allows two customers having the same email based on the value of the has_account
field. This change requires running migrations after the update.
Actions Required
Run Migrations
Run the following command to run migrations:
medusa migrations run
Change Used Methods
Instead of using customerService.retrieveByEmail
, you should now use the methods customerService.retrieveRegisteredByEmail
or customerService.retrieveUnregisteredByEmail
.
The customerService.retrieveRegisteredByEmail
method allows you to retrieve a registered customer by email:
customerService.retrieveRegisteredByEmail("example@gmail.com")
On the other hand, the retrieveUnregisteredByEmail
method allows to retrieve guest customers by email:
customerService.retrieveUnregisteredByEmail("example@gmail.com")
To retrieve a customer by email regardless of whether they are registered or not, you can use the customerService.list
method instead:
customerService.list({
email: "example@gmail.com",
})