Jump to content

Copie base de donnée client de 1.6 vers 8.1 direct dans la BDD, erreur de mot de passe!


Recommended Posts

Bonjour, je tournais sur une version 1.6.1.11, et je suis en train de mettre a jour vers la version 8.1.1

Voici mes infos pour la version 8.1.1  

et celle pour la version 1.6.1.11   

J'ai copié directement dans la BDD la Table du 1.6 vers la BDD de la 8.1.1 donc la PS_customer uniquement, car l'import est tellement pourri pas moyen de le faire correctement.

J'ai donc correctement tout mes client et les infos sont correct.

Néammoins, quand je veux loguer mon compte client, le mot de passe est faux ou ne convient pas, je veut donc réinitialiser , il m'envoie bien un Mail pour changer de mot de passe mais la a chaque fois, le lien même ouvert aussitôt , j'ai ce message "La demande de réinitialisation de mot de passe a expiré. Veuillez recommencer."

Donc impossible de changer de mot de passe!

Quelqu'un a une idée?

Merci 

Bonne journée

 

Edited by Ced17 (see edit history)
Link to comment
Share on other sites

 

Il y a 6 heures, David MEYER a dit :

Bonjour,

Vous avez pensé a modifier   'cookie_key' => dans votre fichier config avec les paramètres de l'ancien site ?

Bonjour, euh non en fait je ne sais pas du tout quoi faire dans ce cas. Je vais tester également cette solution des que j'ai un moment car je suis surchargé. Je vous tiens au courant. Merci 

Link to comment
Share on other sites

Le 11/10/2023 à 3:48 PM, David MEYER a dit :

Bonjour,

Vous avez pensé a modifier   'cookie_key' => dans votre fichier config avec les paramètres de l'ancien site ?

Bonjour, je ne peux pas avoir un lien de réinitialisation valide avec cette méthode.

des que je fais mot de passe oublié, le lien est déjà périmé en arrivant je ne comprend pas?

Merci

Link to comment
Share on other sites

Bonjour, j'ai mis exactement les mêmes pour tous les mots de passe des clients, directement dans la base de données.

Le fait d'aller dans config modifie que le mien. 

Ça ne fonctionne pas mais merci pour l'info quand même.

 

Link to comment
Share on other sites

j'ai également ceci , 'new_cookie_key' c'est normal?

j'ai remplacé la clé et j'ai pu me connecter avec un autre compte crée, et j'ai pu me connecter, sauf que ca a fait buguer le front, plus de menu et d'icone de compte pour me deco.

 

Link to comment
Share on other sites

Il y a 19 heures, David MEYER a dit :

C'est autre chose,

faites ça sur votre base de données :

 

UPDATE ps_customer SET date_upd = date_add WHERE date_upd = '0000-00-00 00:00:00'

Bonjour c'est une requête à créer ou comment faire ceci. Merci 

Link to comment
Share on other sites

Le problème c'est que les tables sont sans doute différentes, et en plus, la table customers est liée à d'autres table, ça va vous faire un sacré mic mac !

Activez mod debug déjà dans le fichier config/defines.inc/php

if (!defined('_PS_MODE_DEV_')) {
define('_PS_MODE_DEV_', true);
}

(donc dans votre fichier au début, true à la place de false

Link to comment
Share on other sites

Bonjour Ced17,

Les mots de passe encodés sur PS 1.6 ne peuvent pas fonctionner en l'état sur PS 1.7 ou 1.8, la méthode d'encryption a changé au passage à la 1.7. A moins d'utiliser un module ou un développement qui fasse la transition entre les deux méthodes de hashage et vos deux clés d'encryptions, vos clients devront utiliser la fonctionnalité "mot de passe oublié".

Egalement, vous ne pouvez pas remplacer la table de votre PS 1.8 avec la table de PS 1.6, la structure a changé. Si vous le faites, il vous faut rajouter manuellement les nouveaux champs ajoutés à la structure de la table entre votre version et la nouvelle. C'est très certainement pour ça que vous avez une erreur lors de l'utilisation de la fonctionnalité "mot de passe oublié". Comparer les deux structures de la table ps_customer, et ajoutez les champs manquants sur celle que vous avez copié depuis votre PS 1.6, ça devrait résoudre le souci.

Link to comment
Share on other sites

j'ai ajouté manuellement les 2 lignes qui corresponde au reset password. par contre je peux désormais créer un compte et recevoir le lien de réinitialisation également, mais même avec le bon MDP, il ne veut pas se connecter.

et sans le mode debug, je n'ai plus accé a mon back merci

Link to comment
Share on other sites

1 hour ago, Ced17 said:

j'ai ajouté manuellement les 2 lignes qui corresponde au reset password. par contre je peux désormais créer un compte et recevoir le lien de réinitialisation également, mais même avec le bon MDP, il ne veut pas se connecter.

Vous parlez bien d'un mot de passe généré avec Prestashop 8 ? Avez-vous modifié quoi que ce soit à part les infos de connexion à la BDD dans le fichier app/config/parameters.php ?

1 hour ago, Ced17 said:

et sans le mode debug, je n'ai plus accé a mon back merci

Et vous n'avez pas d'erreur qui s'affiche en mode debug ?

Sans le mode debug, vous obtenez une erreur à l'écran ? Dans le fichier var/cache/prod.log ? Un fichier d'exception s'est créé pour la date du jour dans var/log/ ? Une erreur s'affiche dans le fichier de log de votre serveur HTTP ?

Edited by Laurent HADOT (see edit history)
Link to comment
Share on other sites

Bonsoir, j'ai créé un compte client via le front ce qui était impossible avant. Par contre, impossible de me connecter à ce compte avec le mot de passe enregistrer juste avant.

Je n'ai rien modifié sauf que j'ai importé la table PS_customer, de la bdd 1.6 vers la bdd 8.1 du coup, il m'a mis un message d'erreur me disant que cette table existait déjà, et que 15ligne sur 25 on réussit avec succès. Seulement après plus d'accès au back office, message d'erreur 500. En mode debug, aucune erreur sur l'accueil mais sur une autre j'ai un message que je posterai demain. Merci pour votre aide et bonne soirée 

Link to comment
Share on other sites

Bonjour, j'ai eu ceci en message d'erreur sur le front merci

https://prnt.sc/rCnYcBpIeViu

et le log dans Var l'erreur donne ceci

*ERROR*     v8.1.1    2023/10/19 - 14:39:50: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'reset_password_token' in 'field list' at line 151 in file classes/db/DbPDO.php

 

Edited by Ced17 (see edit history)
Link to comment
Share on other sites

le problème d"accé au BO est résolu c'est revenu tout seul je ne comprends pas. j'ai remis la table d'origine ps customer à sa place, et la tout fonctionne.

le seul problème maintenant est comment importer mes clients dans cette version.

Merci

Link to comment
Share on other sites

Bonjour Ced17,

Si vous avez réussi à retrouver un environnement stabilisé et fonctionnel, c'est parfait.

Vouloir faire la migration des données manuellement nécessite de bien comprendre les aléas des changements dans les tables de votre base de données et les liens entre les tables. Pour vos clients, les données sont réparties dans plusieurs tables, pas seulement la table ps_customer. A minima, toutes les tables ps_group et ps_customer, mais pas que. D'autres tables font référence à l'id_customer. De plus, il vous faut reprendre les anciennes données dans le nouveau format des tables. 

En gros, à partir d'une copie de votre base de données version 1.6, vous devez :

  • Identifier les tables dont vous avez besoin de reprendre les données
  • Comparer la structure de ces tables entre la version 1.6 et la version 8
  • Modifier la structure des tables de la version 1.6 pour qu'elles soient exactement identiques à la version 8
  • Exporter vos tables modifiées de la version 1.6 pour les réimporter dans la version 8

Vu que vous ne semblez pas maîtriser les aléas de la méthode manuelle, je vous déconseille celle-ci.

Si votre boutique est encore en ligne et fonctionnelle, dans sa version 1.6, je vous invite plutôt à utiliser le module Migration pro à partir de votre nouvelle boutique en 8, puis de faire la synchronisation de vos données via le module. Il s'occupera de récupérer toutes les données dans les bonnes tables. La seule condition est que l'ancienne boutique soit accessible (en ligne) depuis la nouvelle. Le module ne coûte pas très cher et vous fera gagner du temps. Même si il n'est pas parfait dans certaines conditions de reprise de données, il fonctionnerait plutôt bien dans votre cas.

Sinon, vous pouvez tenter de regarder du côté des modules d'import/export de données. A partir de l'ancienne boutique, vous devriez pouvoir exporter vos clients, et à l'aide du même module, pouvoir importer ceux-ci. Je n'en connais pas, je ne saurais vous en conseiller un.

Dans tous les cas, n'hésitez pas à faire des sauvegardes de vos tables avant migration pour pouvoir revenir en arrière en cas de souci.

Enfin, vous avez aussi la possibilité de vous faire aider par une agence spécialisée Prestashop ou un professionnel indépendant, le coût sera forcément plus élevé mais vous aurez l'assurance que votre migration sera totale et réussie.

Bon courage ;)

Link to comment
Share on other sites

il y a 50 minutes, Laurent HADOT a dit :

Enfin, vous avez aussi la possibilité de vous faire aider par une agence spécialisée Prestashop ou un professionnel indépendant, le coût sera forcément plus élevé mais vous aurez l'assurance que votre migration sera totale et réussie.

La base de ce genre de migration, c'est le défaut principal de PrestaShop, la mise à jour entre les versions est assez complexe et demande beaucoup de tests avant de réussir cela convenablement.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...