Migration de plusieurs db dans une unique db avec des tables ayant des préfixes différents => Duplicate foreign key constraint name

Bonjour,

J’aimerais pouvoir centraliser mes différentes instances dans une unique base MySQL.
J’ai donc fait un mysqldump.
Premier import, pas de soucis.
Pour le second, j’ai changé le prefix des tables.
Lors de l’import j’ai ce problème:
ERROR 1826 (HY000) at line 33: Duplicate foreign key constraint name 'fk_accounting_account_fk_pcg_version’

Comment puis-je faire pour faire cohabiter plusieurs instances dans une seule base ?

Merci d’avance pour votre aide, Frédéric

Bonjour,

Quel est votre intérêt de fusionner les données de plusieurs dolibarr dans la même base ? Cela pose un problème de sécurité. Il existe en revance le module multi societe qui devrait repondre a votre besoin en cloisonnant mieux les données.

Bonne journée

Mon nouvel hébergeur facture par base et non pas par instance mysql.
Donc le prix pour héberger plusieurs Dolibarr va me poser un soucis.

Je ne connais pas les tarifs de votre hébergeur ni l’etat de vos finances mais quelques euros supplémentaires pour sécuriser les données de chacune de vos activités mais pas un forcément un luxe. Personnellement je vous conseillerai de mettre en balance avec la perte de données ou la compromission de celles-ci car si vous avez un souci c’est l’ensemble de vos dolibarr qui en souffrir.
Sinon pour repondre à votre besoin il faut renommer tous les prefix, et changer cette information dans le fichier de config de chaque « ancienne instance ». Cela devrait fonctionner mais comme vous l’avez compris je n’ai jamais essayé :wink:

Bonjour, le titre indique que les préfixes des bases de données sont différents, donc je pense que le renommage a eu lieu.
La réponse est donc : ce n’est pas possible. La base stocke des règles de contraintes, et même si les tables sont distinctes, les règles ne le sont pas, manifestement.

Oui donc plan B.
Je vais prendre un autre hébergeur pour mes bases.
Il semble que la mode des databases as a service est lancé.
Ovh propose des bases en ligne avec une IP fixe, filtrage par IP des clients et chiffrements du traffic.
Il est loin le temps où il fallait jamais mettre une base de données en direct sur le net.
Sinon, merci pour vos réponses, la communauté Dolibarr est vraiment très réactive et pro.

Bonjour,

Avez vous bien renommé les prefix des règles de contraintes justement ?

Non effectivement, j’imagine que je dois les localiser dans l’ensemble des fichiers php et les changer ?
Je n’ai pas trouvé d’option pour le faire dans le fichier conf.php

C’est dans MYSQL qu’il faut faire cela.

Comment avez vous fait ?
Le plus simple c’est de le faire directement dans la base de donnée avant import comme cela les contraintes seront aussi mise à jours.