J'essaie de migrer un site D7 vers D8 en suivant les étapes trouvées ici .
Une fois que je peux le gérer et m'assurer que j'ai tous les composants PHP, Drupal modules et etc. J'ai 4 sites à mettre à jour, et celui que je soupçonne va être très difficile .
J'ai installé et utilisé Composer pour créer un site Drupal 8 à partir de mon répertoire/home avec l'intention de déplacer les fichiers sur le site Web existant. De plus, il semble que la migration-mise à niveau doit référencer le site D7 via http.
Lorsque j'exécute la commande suivante pour migrer l'ancien site (D7) vers ce nouveau site D8, il échoue.
drush migrate-upgrade --legacy-db-url=mysql://user:password@server/db
--legacy-root=http://example.com --configure only
avec les paramètres suivants pour mon environnement spécifique
Lorsqu'il échoue, il cite [debug] table key_value introuvable. La base de données est peut-être vide. [0,1 sec, 9,59 Mo] et lorsque je vérifie la base de données MySQL, je trouve qu'il n'y a pas de nom de table key_value.
Je pourrais créer la table, si je connais les exigences de la table (noms de champ, type de champ, tailles, PK/FK, etc.). Ou existe-t-il un autre moyen de créer cette table.
Auparavant, je faisais tout manuellement.
J'ai pensé que depuis les étapes de mise à jour trouvées dans ce guide , le processus global impliquait la création d'un site D8 et la migration des données sur lesquelles je devrais utiliser Composer et/ou Drush.
C'est ma première fois que Composer et Drush travaillent pour moi.
Toute aide serait grandement appréciée.
Je vous remercie.
J'obtiens la sortie suivante lorsque j'exécute la commande entière drush migrate-upgrade :
Drush Launcher Version: 0.6.0 ROOT:/home/akwashnak/ctdollarsandsesne VERSION DRUSH: 9 DRUPAL ROOT:/home/akwashnak/ctdollarsandsesne COMPOSER ROOT:/home/akwashnak/ctdollarsandsesne VENDOR ROOT:/home/akwashnak/ctdollarsandsesne/vendor [preflight] Chemins de configuration: /home/akwashnak/ctdollarsandsesne/vendor/drush/drush/drush.yml [preflight] Chemins d'alias:/home/akwashnak/ctdollarsandsesne/drush/sites,/home/akwashnak/drush/sites [preflight] Chemins de recherche du fichier de commandes:/home/akwashnak/ctdollarsandsesne/vendor/drush/drush/src [debug] Bootstrap plus loin pour trouver migrate-upgrade [0.08 sec, 8.02 MB ] [débogage] Essayer de bootstrap autant que possible [0,08 sec, 8,02 Mo] [débogage] Drush bootstrap phase: bootstrapDrupalRoot () [0,08 sec, 8,02 Mo] [débogage ] Changez le répertoire de travail en/home/akwashnak/ctdollarsandsesne [0,08 sec, 8,02 Mo] [debug] Initialisé Drupal 8.7.9 répertoire racine dans/home/akwashnak/ctdollarsandsesne [0,08 sec, 8,15 MB] [debug ] Drush bootstrap phase: démarrage strapDrupalSite () [0,09 sec, 8,5 Mo] [debug] Initialisé Drupal site par défaut sur les sites/par défaut [0,09 sec, 8,67 Mo] [debug] Drush bootstrap phase: bootstrapDrupalConfiguration () [0,09 s, 8,67 Mo] [débogage] Ajouter un modificateur de service [0,1 s, 9,17 Mo] [débogage] table clé_valeur introuvable. La base de données est peut-être vide. [0,1 sec, 9,59 Mo] [débogage] Bootstrap phase bootstrapDrupalDatabase () n'a pas réussi à valider; continuer à bootstrapDrupalConfiguration () [0,1 sec, 9,59 Mo] [débogage] Fait avec bootstrap max dans Application :: find (): essayer de trouver à nouveau migrate-upgrade. [0,1 s, 9,59 Mo]
Dans Application.php ligne 239:
[Symfony\Component\Console\Exception\CommandNotFoundException] La commande migrate-upgrade est introuvable. Drush n'a pas pu interroger la base de données. Par conséquent, de nombreuses commandes ne sont pas disponibles. Réexécutez votre commande avec le bogue --de pour afficher les messages de journal pertinents.
Trace d'exception: dans /home/akwashnak/ctdollarsandsesne/vendor/drush/drush/src/Application.php:239 Drush\Application-> bootstrapAndFind () dans/home/akwashnak/ctdollarsandsesne/vendor/drush/drush/sush/src/Application. php: 192 Drush\Application-> find () at /home/akwashnak/ctdollarsandsesne/vendor/symfony/console/Application.php:236 Symfony\Component\Console\Application-> doRun () at/home/akwashnak/ctdollarsandsesne// vendor/symfony/console/Application.php: 148 Symfony\Component\Console\Application-> run () sur /home/akwashnak/ctdollarsandsesne/vendor/drush/drush/src/Runtime/Runtime.php:118 Drush\Runtime\Runtime-> doRun () at /home/akwashnak/ctdollarsandsesne/vendor/drush/drush/src/Runtime/Runtime.php:49 Drush\Runtime\Runtime-> run () at/home/akwashnak/ctdollarsandsesne/vendor/drush /drush/drush.php:72 require () sur /home/akwashnak/ctdollarsandsesne/vendor/drush/drush/includes/preflight.inc:18 drush_main () sur phar: /// usr/local/bin/drush/bin /drush.php:141 require () dans/usr/local/bin/drush: 10
"Drush n'a pas pu interroger la base de données" vous indique que votre problème n'est pas une table manquante, mais un problème de configuration.
Vous devez commencer par un site D8 vide mais fonctionnel avant d'essayer d'exécuter la migration. Je pense que vous n'avez pas initialisé votre site après avoir téléchargé le code avec composer?
Pour être plus clair: composer est un outil pour gérer le code, pas pour gérer le site dans son ensemble. Après avoir utilisé composer pour télécharger le code, vous avez encore besoin pour créer votre base de données et utiliser drush ou l'interface web pour réellement "configurer" votre site. Ce n'est qu'à ce moment-là que drush migrer peut commencer à faire son travail.