ECS: ECSSync-migreringsfel: MySQLSyntaxErrorException: Okänd kolumn "source_md5" i "fältlista"
Summary: ECSSync-migreringen slutförs omedelbart utan att något av Centera-klippen migreras.
Symptoms
ECSSync-migreringen slutförs omedelbart utan att något av Centera-klippen faktiskt migreras.
I filen /var/log/ecssync/ecs-sync.log visas följande fel:
2020-05-04 03:08:38 WARN [sync-pool-1-t-15] SyncTask: O--! objekt DNVBT3VHL1NE1e2NMV9CJDMQV5FG41BCFNF5EM0AC0A4KU05821DC misslyckades
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Okänd kolumn "source_md5" i "fältlista"
på sun.reflect.GeneratedConstructorAccessor29.newInstance(Okänd källa)
på sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
... <utgången trunkerad> ..
Cause
Följande är ett exempel på tabellen som skapats, enligt den senaste proceduren, som inte innehåller den här kolumnen:
MariaDB [ecs_sync]> beskriver <table_name>;
+-------------------+---------------+------+-----+---------+-------+
| Fält | Typ | Null | Nyckel | Standardvärde | Extra |
+-------------------+---------------+------+-----+---------+-------+
| source_id | varchar(54) | NEJ | PRI | NULL | |
| target_id | varchar(54) | NEJ | | NULL | |
| is_directory | int(11) | NEJ | | NULL | |
| Storlek | bigint(20) | NEJ | | NULL | |
| mtime | datetime | NEJ | | NULL | |
| Status | varchar(32) | NEJ | MUL | NULL | |
| transfer_start | datetime | NEJ | | NULL | |
| transfer_complete | datetime | NEJ | | NULL | |
| verify_start | datetime | NEJ | | NULL | |
| verify_complete | datetime | NEJ | | NULL | |
| retry_count | int(11) | NEJ | | NULL | |
| error_message | varchar(2048) | NEJ | | NULL | |
| is_source_deleted | int(11) | NEJ | | NULL |
|+-------------------+---------------+------+-----+---------+-------+
13 rader i set (0,00 sek)
ECSSync version 3.2.9 lade till en kolumn i databastabellen för att spåra MD5-källkontrollsumman (detta nämns i versionskommentarerna).
Resolution
mysql Skal:
alter table <table_name> add column source_md5 VARCHAR(32);
Tabellen bör se ut som i följande exempel, med den extra kolumnen:
MariaDB [ecs_sync]> beskriver <table_name>;
+-------------------+---------------+------+-----+---------+-------+
| Fält | Typ | Null | Nyckel | Standardvärde | Extra |
+-------------------+---------------+------+-----+---------+-------+
| source_id | varchar(54) | NEJ | PRI | NULL | |
| target_id | varchar(54) | NEJ | | NULL | |
| is_directory | int(11) | NEJ | | NULL | |
| Storlek | bigint(20) | NEJ | | NULL | |
| mtime | datetime | NEJ | | NULL | |
| Status | varchar(32) | NEJ | MUL | NULL | |
| transfer_start | datetime | NEJ | | NULL | |
| transfer_complete | datetime | NEJ | | NULL | |
| verify_start | datetime | NEJ | | NULL | |
| verify_complete | datetime | NEJ | | NULL | |
| retry_count | int(11) | NEJ | | NULL | |
| error_message | varchar(2048) | NEJ | | NULL | |
| is_source_deleted | int(11) | NEJ | | NULL | |
| source_md5 | varchar(32) | NEJ | | NULL |
|+-------------------+---------------+------+-----+---------+-------+
14 rader i set (0.00 sek)
MariaDB [ecs_sync]>
(där <table_name> är namnet på den befintliga tabellen).