Projet

Général

Profil

Demande #3269

Passer la base de données de Agir en Charset utf8mb4 + Format Barracuda

Ajouté par Romain H. il y a 4 mois. Mis à jour il y a 4 jours.

Statut:
Résolu
Priorité:
Normale
Assigné à:
Catégorie:
-
Version cible:
Début:
15/08/2018
Echéance:
% réalisé:

0%

Difficulté:
2 Facile

Description

Actuellement la base de données est en Charset UTF-8 + Format Antelope ce qui ne permet pas de stocker certaines informations. Par exemple les smileys UTF-8 qui peuvent être utilisés dans les messages de commit GIT.

Cette conversion impose d'exporter et réimporter les données ce qui va provoquer une interruption de service.


Demandes liées

Lié à Admins - Demande #2378: Impossible de soumettre une demande avec des points médians dans le texte Résolu 23/05/2017
Bloque date.chapril.org - Demande #3255: Créer un dépôt public pour la version Chapril Résolu 06/08/2018

Historique

#1 Mis à jour par Romain H. il y a 4 mois

  • Projet changé de Chapril à Admins
  • Difficulté mis à 2 Facile

#2 Mis à jour par Romain H. il y a 4 mois

  • Bloque Demande #3255: Créer un dépôt public pour la version Chapril ajouté

#3 Mis à jour par Romain H. il y a 4 mois

  • Lié à Demande #2378: Impossible de soumettre une demande avec des points médians dans le texte ajouté

#4 Mis à jour par Quentin Gibeaux il y a 3 mois

  • Version cible mis à Été 2018

#5 Mis à jour par Quentin Gibeaux il y a 3 mois

  • Assigné à mis à Christian P. Momon
  • Version cible changé de Été 2018 à Septembre 2018

#6 Mis à jour par Christian P. Momon il y a 2 mois

Plan prévu pour ce samedi (29/09) ou dimanche (30/09) :
  1. choisir un moment de faible sollicitation de agir.april.org ;
  2. prévenir (#april, #april-admin, admins@) ;
  3. faire un disable du site agir.april.org
  4. exporter la base Redmine via mysqldump dans un fichier .sql ;
  5. lancer d'un chercher/remplacer intelligent pour remplacer le charset dans le CREATE de chaque table ;
  6. vérifier que le chercher/remplacer n'a pas fait n'importe quoi ;
  7. droper toutes les tables de la base Redmine ;
  8. importer le fichier .sql modifié via la commande mysql ;
  9. faire enable du site agir.april.org ;
  10. vérifier que ça fonctionne aussi bien qu'avant.

Des avis ? Des précautions ?

#7 Mis à jour par François Poulain il y a 2 mois

Bof te prend pas trop la tête : fait un dump avant, script le tout en juste coupant l'apache de service avant, et ça devrait être rétabli en 4s (soit sur la réussite, soit en restaurant le dump en attendant de corriger le script).
Si l'apache est coupé, l'utilisateur final aura le droit à une jolie erreur 500 fournie par le frontal.

#8 Mis à jour par Quentin Gibeaux il y a 2 mois

  • Version cible changé de Septembre 2018 à Octobre 2018

#9 Mis à jour par Quentin Gibeaux il y a environ un mois

  • Version cible changé de Octobre 2018 à Novembre 2018

#10 Mis à jour par Christian P. Momon il y a 5 jours

Un point d'avancement :

Application de la procédure en production après les mouvements de tickets de la réunion de sprint.

#11 Mis à jour par Quentin Gibeaux il y a 4 jours

  • Version cible changé de Novembre 2018 à Décembre 2018

#12 Mis à jour par Christian P. Momon il y a 4 jours

  • Statut changé de Nouveau à Résolu

Procédure appliquée : https://admin.april.org/doku.php?id=sysadm:liste_des_machines:agir&#migration_vers_innodb_barracuda

Une erreur rencontrée mais qui normalement n'a pas de conséquence car la base avait déjà le bon character set :

MariaDB [redmine]> alter database redmine_default character set=utf8mb4 COLLATE = utf8mb4_unicode_ci;
ERROR 1 (HY000): Can't create/write to file './redmine_default/db.opt' (Errcode: 2 "No such file or directory")

Maintenant, la page https://agir.april.org/projects/date-chapril-org/repository ne génère plus d'erreur.

#13 Mis à jour par Benjamin Drieu il y a 4 jours

… 🔥 💁 👌 🎍 😍 ?

Formats disponibles : Atom PDF