I'm testing d6_menu migration using a non-trivial but quite simple D6 site (a very "Garland-y" blog, with rarely-updated pages and uploaded PDFs.) I started off testing d6_block migration but I've narrowed it down to d6_menu.

Steps to reproduce

1. Create a clean destination site as per https://groups.drupal.org/node/398588
2. Create and populate the D6 database drupal6_site, with user=d6user and password=d6pass
3. Run migrate-manifest as per https://www.drupal.org/node/2289223

What should happen

Menus should migrate successfully.

What happens

$ drush migrate-manifest --db-url=mysql://d6user:d6pass@localhost/drupal6_site drupal8-migration-manifests/D6Manifest-Menu.yml
Running d6_menu                                                      [ok]
Migration failed with source plugin exception: SQLSTATE[42000]:      [error]
Syntax error or access violation: 1142 SELECT command denied to user
'd6user'@'localhost' for table 'migrate_map_d6_menu': SELECT
m.menu_name AS menu_name, m.title AS title, m.description AS
description, map.sourceid1 AS migrate_map_sourceid1, map.destid1 AS
migrate_map_destid1, map.source_row_status AS
migrate_map_source_row_status
FROM 
{menu_custom} m
LEFT OUTER JOIN drupal8_migration.migrate_map_d6_menu map ON
menu_name = map.sourceid1
WHERE ( (map.sourceid1 IS NULL ) OR (map.source_row_status =
:db_condition_placeholder_0) ); Array
(
    [:db_condition_placeholder_0] => 1
)

Further information

It looks like drush migrate-manifest is trying to access the D8 database, using the D6 credentials.

When I give d6user permission to access the D8 database with GRANT ALL, then there is no error message. When I do a REVOKE ALL - again on the D8 database - the error message comes back!

Comments

ultimike’s picture

If you're using a different MySql user for your D6 and D8 site, this is a known issue. See #2181775: SQL idmap broke when using separate mysql users for source and destination.

Thanks,
-mike

jp.stacey’s picture

Status: Active » Closed (duplicate)
Related issues: +#2181775: SQL idmap broke when using separate mysql users for source and destination

@ultimike thanks, that looks like it. Happy to close as a duplicate of #2181775: SQL idmap broke when using separate mysql users for source and destination.