ECS : ECSSync migration error : MySQLSyntaxErrorException : Colonne inconnue 'source_md5' dans 'liste des champs'
Summary: La migration ECSSync se termine instantanément sans qu’aucun des clips Centera ne soit réellement migré.
Symptoms
La migration ECSSync se termine instantanément sans aucun des clips Centera à migrer.
Dans le fichier /var/log/ecssync/ecs-sync.log, l’erreur suivante apparaît :
2020-05-04 03:08:38 WARN [sync-pool-1-t-15] SyncTask : O--! object DNVBT3VHL1NE1e2NMV9CJDMQV5FG41BCFNF5EM0AC0A4KU05821DC failed
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException : Colonne 'source_md5' inconnue dans 'liste des champs'
à sun.reflect.GeneratedConstructorAccessor29.newInstance(Unknown Source)
à sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java :45)
... <sortie tronquée> ..
Cause
Vous trouverez ci-dessous un exemple du tableau créé conformément à la dernière procédure, qui n’inclut pas cette colonne :
MariaDB [ecs_sync]> décrire <table_name> ;
+-------------------+---------------+------+-----+---------+-------+
| Champ | Tapez | Nul | Clé | Par défaut | Extra |
+-------------------+---------------+------+-----+---------+-------+
| source_id | varchar(54) | NON | PRI | NULL | |
| target_id | varchar(54) | OUI | | NULL | |
| is_directory | int(11) | NON | | NULL | |
| taille | Bigint(20) | OUI | | NULL | |
| mtime | Date/heure | OUI | | NULL | |
| Statut | varchar(32) | NON | MUL | NULL | |
| transfer_start | Date/heure | OUI | | NULL | |
| transfer_complete | Date/heure | OUI | | NULL | |
| verify_start | Date/heure | OUI | | NULL | |
| verify_complete | Date/heure | OUI | | NULL | |
| retry_count | int(11) | OUI | | NULL | |
| error_message | varchar(2048) | OUI | | NULL | |
| is_source_deleted | int(11) | OUI | | NULL |
|+-------------------+---------------+------+-----+---------+-------+
13 lignes dans l’ensemble (0.00 sec)
ECSSync version 3.2.9 a ajouté une colonne au tableau de base de données pour suivre la somme de contrôle MD5 source (ceci est mentionné dans les notes de mise à jour).
Resolution
mysql Shell:
alter table <table_name> add column source_md5 VARCHAR(32);
Le tableau doit ressembler à l’exemple suivant, avec la colonne supplémentaire :
MariaDB [ecs_sync]> décrire <table_name> ;
+-------------------+---------------+------+-----+---------+-------+
| Champ | Tapez | Nul | Clé | Par défaut | Extra |
+-------------------+---------------+------+-----+---------+-------+
| source_id | varchar(54) | NON | PRI | NULL | |
| target_id | varchar(54) | OUI | | NULL | |
| is_directory | int(11) | NON | | NULL | |
| taille | Bigint(20) | OUI | | NULL | |
| mtime | Date/heure | OUI | | NULL | |
| Statut | varchar(32) | NON | MUL | NULL | |
| transfer_start | Date/heure | OUI | | NULL | |
| transfer_complete | Date/heure | OUI | | NULL | |
| verify_start | Date/heure | OUI | | NULL | |
| verify_complete | Date/heure | OUI | | NULL | |
| retry_count | int(11) | OUI | | NULL | |
| error_message | varchar(2048) | OUI | | NULL | |
| is_source_deleted | int(11) | OUI | | NULL | |
| source_md5 | varchar(32) | OUI | | NULL |
|+-------------------+---------------+------+-----+---------+-------+
14 lignes dans le jeu (0.00 sec)
MariaDB [ecs_sync]>
(où <table_name> est le nom de votre table existante).