ECS: Errore di migrazione ECSSync: MySQLSyntaxErrorException: Colonna sconosciuta 'source_md5' in 'elenco campi'
Summary: La migrazione di ECSSync viene immediatamente completata senza che nessuna delle clip Centera venga effettivamente migrata.
Symptoms
La migrazione di ECSSync viene immediatamente completata senza che nessuno dei clip Centera venga effettivamente migrato.
Nel file /var/log/ecssync/ecs-sync.log viene visualizzato il seguente errore:
2020-05-04 03:08:38 WARN [sync-pool-1-t-15] SyncTask: O--! object DNVBT3VHL1NE1e2NMV9CJDMQV5FG41BCFNF5EM0AC0A4KU05821DC non riuscito
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Colonna sconosciuta 'source_md5' in 'elenco campi'
at sun.reflect.GeneratedConstructorAccessor29.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
... <uscita troncata> ..
Cause
Di seguito è riportato un esempio della tabella creata, secondo la procedura più recente, che non include questa colonna:
MariaDB [ecs_sync]> descrivere <table_name>;
+-------------------+---------------+------+-----+---------+-------+
| Settore | Tipo | Nullo | Chiave | Impostazione predefinita | Supplemento |
+-------------------+---------------+------+-----+---------+-------+
| source_id | varchar(54) | NO | PRI | NULLO | |
| target_id | varchar(54) | SÌ | | NULLO | |
| is_directory | int(11) | NO | | NULLO | |
| Taglia | bigint(20) | SÌ | | NULLO | |
| mtempo | Data/ora | SÌ | | NULLO | |
| Stato | varchar(32) | NO | MUL | NULLO | |
| transfer_start | Data/ora | SÌ | | NULLO | |
| transfer_complete | Data/ora | SÌ | | NULLO | |
| verify_start | Data/ora | SÌ | | NULLO | |
| verify_complete | Data/ora | SÌ | | NULLO | |
| retry_count | int(11) | SÌ | | NULLO | |
| error_message | Varchar(2048) | SÌ | | NULLO | |
| is_source_deleted | int(11) | SÌ | | NULLO |
|+-------------------+---------------+------+-----+---------+-------+
13 righe nell'insieme (0,00 sec)
ECSSync versione 3.2.9 ha aggiunto una colonna alla tabella del database per tenere traccia del checksum MD5 di origine (menzionato nelle note di rilascio).
Resolution
mysql Guscio:
alter table <table_name> add column source_md5 VARCHAR(32);
La tabella dovrebbe essere simile all'esempio seguente, con la colonna aggiuntiva:
MariaDB [ecs_sync]> descrivere <table_name>;
+-------------------+---------------+------+-----+---------+-------+
| Settore | Tipo | Nullo | Chiave | Impostazione predefinita | Supplemento |
+-------------------+---------------+------+-----+---------+-------+
| source_id | varchar(54) | NO | PRI | NULLO | |
| target_id | varchar(54) | SÌ | | NULLO | |
| is_directory | int(11) | NO | | NULLO | |
| Taglia | bigint(20) | SÌ | | NULLO | |
| mtempo | Data/ora | SÌ | | NULLO | |
| Stato | varchar(32) | NO | MUL | NULLO | |
| transfer_start | Data/ora | SÌ | | NULLO | |
| transfer_complete | Data/ora | SÌ | | NULLO | |
| verify_start | Data/ora | SÌ | | NULLO | |
| verify_complete | Data/ora | SÌ | | NULLO | |
| retry_count | int(11) | SÌ | | NULLO | |
| error_message | Varchar(2048) | SÌ | | NULLO | |
| is_source_deleted | int(11) | SÌ | | NULLO | |
| source_md5 | varchar(32) | SÌ | | NULLO |
|+-------------------+---------------+------+-----+---------+-------+
14 righe nel set (0,00 sec)
MariaDB [ecs_sync]>
(dove <table_name> è il nome della tabella esistente).