I am trying to migrate multiple Drupal 6.37 sites in a multi-site environment to the public released Drupal 8.0. All sites share the vocabulary table and some more. In settings.php of all sites I have the following code for prefixing the tables:
$db_prefix = array(
'default' => 'site1__',
'users' => 'shared__',
'sessions' => 'shared__',
'role' => 'shared__',
'term_data' => 'shared__',
'term_synonym' => 'shared__',
'term_relation' => 'shared__',
'term_hierarchy' => 'shared__',
'vocabulary' => 'shared__',
'profile_fields' => 'shared__',
'profile_values' => 'shared__',
'global_avatar' => 'shared__',
'oc_ldap_user_mapping' => '',
);
I am runnging the drush command with and without the option '--legacy-db-prefix':
drush migrate-upgrade --legacy-db-prefix=site1__ --legacy-db-url=mysql://user:password@localhost/db --legacy-root=https://www.domain.com/site1
and receive the error
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'db.site1__vocabulary' doesn't exist: SELECT v.vid AS vid, v.name AS name, v.description AS description, v.help AS help, v.relations [error]
AS relations, v.hierarchy AS hierarchy, v.multiple AS multiple, v.required AS required, v.tags AS tags, v.module AS module, v.weight AS weight
FROM
{vocabulary} v; Array
(
)
It seems that $db_prefix in settings.php is ignored. I have the same result in the browser interface.
Is there a solution in sight or a workaround?