Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
tutoriel:erp-crm:dolibarr:reinstall:ovh:start [2021/10/18 16:49] – [Problèmes connus] admintutoriel:erp-crm:dolibarr:reinstall:ovh:start [2022/08/13 22:27] (Version actuelle) – modification externe 127.0.0.1
Ligne 23: Ligne 23:
 Si la sauvegarde a été faite depuis Dolibarr, la version de Dolibarr sauvegardé est incluse dans le nom du fichier de sauvegarde de la base de données. Si la sauvegarde a été faite depuis Dolibarr, la version de Dolibarr sauvegardé est incluse dans le nom du fichier de sauvegarde de la base de données.
 </WRAP> </WRAP>
 +
 ===== Autres étapes ===== ===== Autres étapes =====
  
-  ~~ol:hierarchical~~+<WRAP list-deep>
   - **Restaurer les fichiers documents**   - **Restaurer les fichiers documents**
     - **connectez-vous en administrateur sur votre nouvelle installation de Dolibarr**     - **connectez-vous en administrateur sur votre nouvelle installation de Dolibarr**
Ligne 47: Ligne 48:
       - **Allez dans le répertoire où est enregistré le fichier de sauvegarde** à restaurer.       - **Allez dans le répertoire où est enregistré le fichier de sauvegarde** à restaurer.
       - **Lancez la commande fournie précédemment** (n'oubliez aucun espace, signe "-" ou "<")       - **Lancez la commande fournie précédemment** (n'oubliez aucun espace, signe "-" ou "<")
-    - **Vous pouvez également utiliser phpMyAdmin**, onglet Importer, pour restaurer votre fichier de sauvegarde (normalement, vous n'aurez à cocher aucune option en particulier, mais votre fichier de sauvegarde doit absolument désactiver FOREIGN_KEY_CHECKS, voir ci-dessous). Cette méthode offre des résultats qui ne sont toutefois pas garantis contrairement à la méthode précédente.+    - **Vous pouvez également utiliser Adminer** : 
 +      - **cliquez sur le lien __Importer__** 
 +      - **cliquez sur <key>Parcourir</key>** pour sélectionner votre fichier de sauvegarde (normalement, vous n'aurez à cocher aucune option en particulier, mais votre fichier de sauvegarde doit absolument désactiver FOREIGN_KEY_CHECKS, voir [[#Problèmes connus]]) 
 +      - **Cliquez sur <key>Exécuter</key>** 
 +      - Les résultats de cette méthode ne sont pas garantis contrairement à la méthode précédente. 
 +</WRAP> 
 ===== Conclusion ===== ===== Conclusion =====
  
Ligne 82: Ligne 89:
  
 SET FOREIGN_KEY_CHECKS=1;</code> SET FOREIGN_KEY_CHECKS=1;</code>
 +
 +??? Erreur dans la requête (1071): Specified key was too long; max key length is 767 bytes
 +!!! 767 octets est la limite de préfixe indiquée pour les tables InnoDB dans MySQL version 5.6 (et versions antérieures). Elle fait 1 000 octets pour les tables MyISAM. Dans MySQL version 5.7 et supérieures, cette limite a été augmentée à 3072 octets.
 +
 +Sachez aussi que si vous définissez un index sur un grand champ char ou varchar encodé en utf8mb4, vous devez diviser par 4 la longueur maximale du préfixe d'index de 767 octets (ou 3072 octets), ce qui donne 191. En effet, la longueur maximale d'un caractère utf8mb4 est de quatre octets. Pour un caractère utf8, elle serait de trois octets, ce qui donnerait une longueur maximale de préfixe d'index de 254.
 +
 +!!! Une solution est de placer une limite inférieure sur vos champs VARCHAR.
 +!!! Une autre option (selon la réponse à ce problème) consiste à utiliser un sous-ensemble de la colonne plutôt que le montant total, c'est-à-dire :<code sql >ALTER TABLE `mytable` ADD UNIQUE ( column1(15), column2(200) );</code>
 +
 +Ajustez au fur et à mesure que vous devez obtenir la clé à appliquer, mais je me demande s'il vaudrait la peine de revoir votre modèle de données concernant cette entité pour voir s'il y a des améliorations qui vous permettraient d'implémenter les règles métier prévues sans atteindre la limitation MySQL.
 +
 ===== Voir aussi ===== ===== Voir aussi =====