J'ai donc récemment mis à jour la version 3.6.5. J'ai d'abord testé la mise à jour sur un serveur de test avant de la transférer sur mon serveur live. Le problème que je rencontre est l'erreur Mysql 1273
CREATE TABLE `zyjgk_assets` (
`id` int( 10 ) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Primary Key',
`parent_id` int( 11 ) NOT NULL DEFAULT '0' COMMENT 'Nested set parent.',
`lft` int( 11 ) NOT NULL DEFAULT '0' COMMENT 'Nested set lft.',
`rgt` int( 11 ) NOT NULL DEFAULT '0' COMMENT 'Nested set rgt.',
`level` int( 10 ) unsigned NOT NULL COMMENT 'The cached level in the nested tree.',
`name` varchar( 50 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'The unique name for the asset.\n',
`title` varchar( 100 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'The descriptive title for the asset.',
`rules` varchar( 5120 ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'JSON encoded access control.',
PRIMARY KEY ( `id` ) ,
UNIQUE KEY `idx_asset_name` ( `name` ) ,
KEY `idx_lft_rgt` ( `lft` , `rgt` ) ,
KEY `idx_parent_id` ( `parent_id` )
) ENGINE = MYISAM AUTO_INCREMENT =362 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
Googling autour suggère qu'il existe une sorte d'incompatibilité de type entre les versions de Mysql sur les serveurs de test et live, alors comment puis-je procéder à partir de maintenant et résoudre ce problème?
Si vous téléchargez un fichier SQL sur phpMyAdmin
, essayez de rechercher et de remplacer. Remplacer utf8mb4_unicode_ci
avec utf8_general_ci
, et ensuite remplacer utf8mb4
avec utf8
, puis essayez à nouveau de télécharger le fichier.
Remarque: ce qui précède n'a pas été testé - mais cela devrait fonctionner. Si possible, publiez vos résultats ici pour que d’autres puissent tirer des enseignements de votre expérience.