What I Did

- Created a new Commerce site (not Commerce Kickstart, but with Commerce Backoffice modules).
- Used migrate_d2d to bring over user accounts.
- Mapped CommerceMigrateUbercartCustomerBillingProfile fields (with "commerce_migrate_ubercart_user_map_ok" variable set to 0, as well as set to 1 and uo.uid available & mapped)
- Ran the CommerceMigrateUbercartCustomerBillingProfile task with no errors.

What I Expected

- The resulting user profiles would be assigned to the corresponding user account.

What happened

- The resulting profiles are all assigned to Anonymous.
- If I manually edit a customer profile, I can get the expected user list in the typeahead and can assign it.

I see that my destination D7 uids differ from the source D6 uids, so maybe email addresses need to be included in the mapping to resolve this. Is there an existing approach I'm missing, or will I need to create a Migration Class? Thanks.

Comments

Anonymous’s picture

Please review the README file and the project description page. You are basically missing one step which is to click the sub-tab on the migrate page to update the configuration for this module. On that page you can put the name of your migration that is handling the users, then you will need to go to 'Content->Migrate->Configure->Register statically defined migrations" to update your settings.

Once that is done you can re-import and so long as you have the correct name for the user migration you should have no troubles.

Pro-tip: sometimes if you have a group name it hides the prefix. So if groupname is "hi" and your migration is "hiUser", that will be the name to put in the configuration, even though it will simply be called "User" within the UI. If you hover over the name of the migration with your mouse you will see the full machine name if you are unsure if it has a prefix or not.

thekenshow’s picture

Hi Ryan - thanks for the quick and specific response. I totally missed the Class name of migration to be used to map users field on the subtab even though I did other config there.

I did re-read the README and project page; they say user references can be maintained but not exactly how, for me at least. So here's what I did to get user mapping to work, in case it helps someone else:

1. Selected User ownership should be mapped on "/admin/content/migrate/ubercart_migration_options" page, and entered the migrate_d2d class name for users, "MySrcSiteUser", in the Class name of migration to be used to map users field. (I used the migration name as it appears in drush; the group is hidden in the UI as you said.)

2. Clicked Register Statically-Defined Class on "/admin/content/migrate/configure", no errors.

3. Mapped the following on "/admin/content/migrate/groups/commerce_ubercart/CommerceMigrateUbercartCustomerBillingProfile/edit":

The unique ID of the user the customer profile belongs to. [uid] <--> [uo.uid] <--> MySrcSiteUser

4. Rolled back CommerceMigrateUbercartCustomerBillingProfilePrimary, ran it again.

kscheirer’s picture

Status: Active » Fixed

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.