ECS: Помилка міграції ECSSync: MySQLSyntaxErrorException: Невідомий стовпець 'source_md5' у 'списку полів'
Summary: Міграція ECSSync миттєво завершується без фактичної міграції кліпів Centera.
Symptoms
Міграція ECSSync миттєво завершується без фактичної міграції
кліпів Centera.У файлі /var/log/ecssync/ecs-sync.log з'являється така помилка:
2020-05-04 03:08:38 WARN [sync-pool-1-t-15] SyncTask: O--! об'єкт DNVBT3VHL1NE1e2NMV9CJDMQV5FG41BCFNF5EM0AC0A4KU05821DC не
вдалося com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Невідомий стовпець 'source_md5' у 'списку поля'
at sun.reflect.GeneratedConstructorAccessor29.newInstance(невідоме джерело)
на sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
... <вихід урізано> ..
Cause
Нижче наведено приклад таблиці, створеної відповідно до останньої процедури, яка не містить цього стовпця:
MariaDB [ecs_sync]> описують <table_name>;
+-------------------+---------------+------+-----+---------+-------+
| Поле | Тип | Null | Ключ | За замовчуванням | Додатково |
+-------------------+---------------+------+-----+---------+-------+
| source_id | varchar(54) | НІ | PRI | NULL | |
| target_id | Варчар(54) | ТАК | | NULL | |
| is_directory | int(11) | НІ | | NULL | |
| розмір | bigint(20) | ТАК | | NULL | |
| mtime | Час зустрічі | ТАК | | NULL | |
| Статус | Варчар(32) | НІ | MUL | NULL | |
| transfer_start | Час зустрічі | ТАК | | NULL | |
| transfer_complete | Час зустрічі | ТАК | | NULL | |
| verify_start | Час зустрічі | ТАК | | NULL | |
| verify_complete | Час зустрічі | ТАК | | NULL | |
| retry_count | int(11) | ТАК | | NULL | |
| error_message | Варчар (2048) | ТАК | | NULL | |
| is_source_deleted | int(11) | ТАК | | NULL |
|+-------------------+---------------+------+-----+---------+-------
+13 рядків у сеті (0,00 сек)
Версія ECSSync 3.2.9 додала стовпець до таблиці бази даних для відстеження вихідної контрольної суми MD5 (це згадується у нотатках до релізу).
Resolution
mysql Оболонка:
alter table <table_name> add column source_md5 VARCHAR(32);
Таблиця має виглядати як у наступному прикладі, з додатковим стовпцем:
MariaDB [ecs_sync]> описують <table_name>;
+-------------------+---------------+------+-----+---------+-------+
| Поле | Тип | Null | Ключ | За замовчуванням | Додатково |
+-------------------+---------------+------+-----+---------+-------+
| source_id | varchar(54) | НІ | PRI | NULL | |
| target_id | Варчар(54) | ТАК | | NULL | |
| is_directory | int(11) | НІ | | NULL | |
| розмір | bigint(20) | ТАК | | NULL | |
| mtime | Час зустрічі | ТАК | | NULL | |
| Статус | Варчар(32) | НІ | MUL | NULL | |
| transfer_start | Час зустрічі | ТАК | | NULL | |
| transfer_complete | Час зустрічі | ТАК | | NULL | |
| verify_start | Час зустрічі | ТАК | | NULL | |
| verify_complete | Час зустрічі | ТАК | | NULL | |
| retry_count | int(11) | ТАК | | NULL | |
| error_message | Варчар (2048) | ТАК | | NULL | |
| is_source_deleted | int(11) | ТАК | | NULL | |
| source_md5 | Варчар(32) | ТАК | | NULL |
|+-------------------+---------------+------+-----+---------+-------+
14 рядків у сеті (0,00 сек)
MariaDB [ecs_sync]>
(де <table_name> — назва вашої існуючої таблиці).