ECS: ECSSync geçiş hatası: MySQLSyntaxErrorException: 'Alan listesi'nde bilinmeyen 'source_md5' sütunu
Summary: ECSSync geçişi, Centera kliplerinin hiçbiri taşınmadan anında tamamlanır.
Symptoms
ECSSync geçişi, taşınacak Centera kliplerinden herhangi biri olmadan anında tamamlanır.
/var/log/ecssync/ecs-sync.log dosyasında aşağıdaki hata görünür:
2020-05-04 03:08:38 WARN [sync-pool-1-t-15] SyncTask: O--! object DNVBT3VHL1NE1e2NMV9CJDMQV5FG41BCFNF5EM0AC0A4KU05821DC failed
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 'Alan listesi'nde bilinmeyen 'source_md5'
sütunu sun.reflect.GeneratedConstructorAccessor29.newInstance(Bilinmeyen Kaynak)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
... <çıktı kesildi> ..
Cause
Aşağıda, en son yordama göre oluşturulan ve bu sütunu içermeyen tablonun bir örneği verilmiştir:
MariaDB [ecs_sync]> table_name> tanımlar<;
+-------------------+---------------+------+-----+---------+-------+
| Tarla | Türü | Boş | Anahtar | Varsayılan | Ekstra |
+-------------------+---------------+------+-----+---------+-------+
| source_id | varchar(54) | HAYIR | PRI | BOŞ | |
| target_id | Varchar(54) | EVET | | BOŞ | |
| is_directory | int(11) | HAYIR | | BOŞ | |
| Boyut | büyük(20) | EVET | | BOŞ | |
| mtime | Tarih Saat | EVET | | BOŞ | |
| Durum | Varchar(32) | HAYIR | MUL | BOŞ | |
| transfer_start | Tarih Saat | EVET | | BOŞ | |
| transfer_complete | Tarih Saat | EVET | | BOŞ | |
| verify_start | Tarih Saat | EVET | | BOŞ | |
| verify_complete | Tarih Saat | EVET | | BOŞ | |
| retry_count | int(11) | EVET | | BOŞ | |
| error_message | Varchar(2048) | EVET | | BOŞ | |
| is_source_deleted | int(11) | EVET | | BOŞ |
|+-------------------+---------------+------+-----+---------+-------+
13 sıra set halinde (0.00 sn)
ECSSync sürüm 3.2.9, kaynak MD5 sağlama toplamını izlemek için veritabanı tablosuna bir sütun ekledi (bu, sürüm notlarında belirtilmiştir).
Resolution
mysql Kabuk:
alter table <table_name> add column source_md5 VARCHAR(32);
Tablo, ek sütunla birlikte aşağıdaki örnekteki gibi görünmelidir:
MariaDB [ecs_sync]> table_name> tanımlar<;
+-------------------+---------------+------+-----+---------+-------+
| Tarla | Türü | Boş | Anahtar | Varsayılan | Ekstra |
+-------------------+---------------+------+-----+---------+-------+
| source_id | varchar(54) | HAYIR | PRI | BOŞ | |
| target_id | Varchar(54) | EVET | | BOŞ | |
| is_directory | int(11) | HAYIR | | BOŞ | |
| Boyut | büyük(20) | EVET | | BOŞ | |
| mtime | Tarih Saat | EVET | | BOŞ | |
| Durum | Varchar(32) | HAYIR | MUL | BOŞ | |
| transfer_start | Tarih Saat | EVET | | BOŞ | |
| transfer_complete | Tarih Saat | EVET | | BOŞ | |
| verify_start | Tarih Saat | EVET | | BOŞ | |
| verify_complete | Tarih Saat | EVET | | BOŞ | |
| retry_count | int(11) | EVET | | BOŞ | |
| error_message | Varchar(2048) | EVET | | BOŞ | |
| is_source_deleted | int(11) | EVET | | BOŞ | |
| source_md5 | Varchar(32) | EVET | | BOŞ |
|Sette +-------------------+---------------+------+-----+---------+-------+
14 sıra (0.00 sn)
MariaDB [ecs_sync]>
(burada <table_name> mevcut tablonuzun adıdır).