Difference between revisions of "FAQ Migrer ma base Mysql vers PostgreSQL"

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
Line 19: Line 19:
  
 
=== Création base de donnée sous PostGreSQL ===
 
=== Création base de donnée sous PostGreSQL ===
* Renommer le fichier conf.php de Dolibarr en conf.php.mysql (il doit etre soit dans /etc/dolibarr soit dans htdocs/conf)  
+
* Renommer le fichier '''conf.php''' de Dolibarr en '''conf.php.mysql''' (il doit etre soit dans '''/etc/dolibarr''' soit dans '''htdocs/conf''')  
 
* Lancer Dolibarr. Le fichier de conf n'existant plus, la procédure d'installation doit être proposée. Choisissez première installation et saisissez les informations de postgresql comme base de données source. Dérouler la procédure jusqu'au bout. Pour le compte administrateur, choissisez le meme que celui qui existait sous Mysql.
 
* Lancer Dolibarr. Le fichier de conf n'existant plus, la procédure d'installation doit être proposée. Choisissez première installation et saisissez les informations de postgresql comme base de données source. Dérouler la procédure jusqu'au bout. Pour le compte administrateur, choissisez le meme que celui qui existait sous Mysql.
 
Rem: En cas de problème, pour revenir sur un Dolibarr qui pointe sur la base Mysql, restaurer le fichier renommé.
 
Rem: En cas de problème, pour revenir sur un Dolibarr qui pointe sur la base Mysql, restaurer le fichier renommé.

Revision as of 11:46, 6 May 2012

Prérequis

Votre version de Dolibarr doit être au minimum la version 3.2.0. Si ce n'est pas le cas, procéder d'abord à une mise à jour de votre Dolibarr sous MySql.

Procédure

Export Mysql

  • Aller sur la page Configuration - Outils - Sauvegarde.
  • Choisir la méthode d'export "MySql dump".
  • Choisir compatibilité d'export "POSTGRESQL".
  • Décocher "Structure".
  • Cocher "Nommer les colonnes".
  • Décocher "Utiliser les INSERT étendus".
  • Choisir "Pas d'instruction LOCK autour des INSERT".
  • Dans la zone "Compression", mettre "Aucune"
  • Puis cliquer sur "Générer sauvegarde".
  • Aller dans le répertoire de vos données Dolibarr (le répertoire est indiqué dans "Configuration - Info systèmes - Dolibarr - Tous les paramètres" sur la ligne "Répertoire racine des fichiers de données"). Aller dans le sous répertoire admin/backup. Vous y trouverez le dump de sauvegarde de la base qui viens d'être généré. Nous appellerons ce fichier mysqldump_mydatabase_version_date.sql dans la suite de ce tutorial. Copier ce fichier dans le répertoire /tmp.

Création base de donnée sous PostGreSQL

  • Renommer le fichier conf.php de Dolibarr en conf.php.mysql (il doit etre soit dans /etc/dolibarr soit dans htdocs/conf)
  • Lancer Dolibarr. Le fichier de conf n'existant plus, la procédure d'installation doit être proposée. Choisissez première installation et saisissez les informations de postgresql comme base de données source. Dérouler la procédure jusqu'au bout. Pour le compte administrateur, choissisez le meme que celui qui existait sous Mysql.

Rem: En cas de problème, pour revenir sur un Dolibarr qui pointe sur la base Mysql, restaurer le fichier renommé.

Import sauvegarde

  • Modifier le fichier généré dans la phase export afin de mettre les bons échappements sur les chaines:
sed -e "s/\\\'/\'\'/g" mysqldump_mydatabase_version_date.sql > tmpfile.sql
sed -e 's/\\/\\\\/g' tmpfile.sql > mysqldump_readyforpgsql.sql
  • Après avoir convertit le fichier, importer le sur votre base postgresql vierge:
psql -h nom_ou_ip_du_serveur_postgresql -d nom_base_postgresql -U login_base_mysql -f mysqldump_readyforpgsql.sql
  • Une fois l'import terminé, il est nécessaire de mettre à jour les séquences pour correspondre aux nouvelles valeures
psql -h name_or_ip_of_postgresql_server -d name_database_postgresql -U login_database_mysql
# select rebuilt_sequences();
CTRL+D

Modification de votre fichier de configuration Dolibarr

  • Ouvrer avec un éditeur de texte le fichier htdocs/conf/conf.php qui se trouve dans la racine de votre installation de Dolibarr.
  • Modifier les lignes pour faire pointer les programmes sur la nouvelle base de donnée
$dolibarr_main_db_host='nom_ou_ip_du_serveur_postgresql';
$dolibarr_main_db_port='port_serveur_postgresql';
$dolibarr_main_db_name='nom_base_postgresql';
$dolibarr_main_db_user='login_base_mysql';
$dolibarr_main_db_pass='mot_de_passe_base_mysql';
$dolibarr_main_db_type='pgsql';

Tester l'application

Vous devez retrouver une application 100% fonctionnelle et avec toutes ses données. La base de donnée MySql peut être arrêtée.