openMairie.org | Démonstration | Documentation | Forum

Installation Openaria sur mysql


#1

Bonjour à tous,

je voudrais installer openaria sur mon serveur web ovh seulement mon abonnement ne me propose pas postgresql mais seulement mysql.

ma question l’installation d’openaria sur un gestionnaire de base de donnée mysql est elle possible?

si oui savez vous ou je peux trouvez des info dessus ?

Merci de vos réponses.


#2

Bonjour,
Tout d’abord une remarque: OVH a fait le choix commercial de ne plus inclure PostGreSQL dans ses premières offres d’hébergement, mais le propose dans d’autres. D’autres hébergeurs le proposent toujours dès leurs premières offres: https://www.alphosting.ch, https://www.online.net/fr, …

Pour en revenir à la question: depuis plusieurs années, le canevas openMairie et les applications qui l’utilisent sont programmées pour être utilisés avec PostGreSQL. Cependant le portage vers un autre système SQL est facilité pour un programmeur :

  • openMairie utilise un abstracteur de base de données (DBpear) , pour exécuter le code SQL (standard) sur les différents systèmes de basse de données courants
  • les différences de code SQL (chaque système étend le standard SQL à sa façon) peuvent être gérées par des fichiers de code dédiés

Sans avoir tenté l’expérience, ma proposition serait la méthode suivante:

1 - Tenter de déployer la base SQL en mySQL

  • Décompacter l’archive openARIA
  • Créer la base MySQL
  • Copier ..../data/pgsql sous le nom .../data/mysql
  • Reprendre les scripts SQL depuis install.sql pour les “traduire” en MySQL
    • En MySQL un schéma est équivalent à une base
    • En MySQL la commande en ligne pour exécuter un script ne doit pas être \i : trouver l’équivalent ou intégrer directement les différents code SQL
    • En MySQL, le plus simple me semble d’abandonner l’extension SIG: PostGIS … et de convertir tous les champs géographique en “text” et de ne pas créer les tables “sig”
  • Exécuter install.sql sur la base et déboguer : ce sera instructif !

2 - Porter le code applicatif

  • copier ..../core/sql/pgsql sous le nom ..../core/sql/mysql
  • copier ..../sql/pgsql sous le nom ..../sql/mysql
  • modifier le fichier de configuration .../dyn/database.inc.php pour utiliser une connexion mySQL
  • faire fonctionner la connexion en s’identifiant admin/admin
  • tester l’application: je ne pense pas que le code SQL contenu dans les fichier .inc.php ait besoin d’être changé

Bon courage


#3

Bonjour merci de votre réponse je vais jeter un œil mais cela m’a l’air bien compliqué dommage c’est pile l’outil dont j’avais besoin