FAQ Migrer ma base Mysql vers PostgreSQL: Difference between revisions

Jump to navigation Jump to search
No edit summary
Line 34: Line 34:
</source>
</source>
Redémarrer le serveur.
Redémarrer le serveur.
* Désactiver les contraintes pour permettre l'import. Pour cela, se connecter à la base et exécuter la procédure stockée qui a été installé avec Dolibar:
<source lang="sql">
psql -h name_or_ip_of_postgresql_server -d name_database_postgresql -U login_database_mysql
> select dol_util_triggerall(false);
CTRL+D
</source>
* Modifier le fichier généré dans la phase export afin de mettre les bons échappements sur les chaines:
* Modifier le fichier généré dans la phase export afin de mettre les bons échappements sur les chaines:
<source lang="bash">
<source lang="bash">
Line 43: Line 49:
psql -h nom_ou_ip_du_serveur_postgresql -d nom_base_postgresql -U login_base_mysql -f mysqldump_readyforpgsql.sql >resimport.sql 2>&1
psql -h nom_ou_ip_du_serveur_postgresql -d nom_base_postgresql -U login_base_mysql -f mysqldump_readyforpgsql.sql >resimport.sql 2>&1
</source>
</source>
* Une fois l'import terminé, il est nécessaire de mettre à jour les séquences pour correspondre aux nouvelles valeures
* Une fois l'import terminé, il est nécessaire de réactiver les contraintes et mettre à jour les séquences pour correspondre aux nouvelles valeures
<source lang="bash">
<source lang="bash">
psql -h name_or_ip_of_postgresql_server -d name_database_postgresql -U login_database_mysql
psql -h name_or_ip_of_postgresql_server -d name_database_postgresql -U login_database_mysql
> select rebuilt_sequences();
> select dol_util_triggerall(true);
> select dol_rebuild_sequences();
CTRL+D
CTRL+D
</source>
</source>

Navigation menu