ECS: ECSSync 마이그레이션 오류: MySQLSyntaxErrorException: '필드 목록'에 알 수 없는 열 'source_md5'이 있습니다.
Summary: Centera 클립을 실제로 마이그레이션하지 않아도 ECSSync 마이그레이션이 즉시 완료됩니다.
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'이 있습니다.
sun.reflect.GeneratedConstructorAccessor29.newInstance(알 수 없는 소스)
에서 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
에서 ... <잘린> 출력 ..
Cause
다음은 이 열을 포함하지 않는 최신 절차에 따라 생성된 테이블의 예입니다.
MariaDB [ecs_sync]> table_name> 설명합니다<.
+-------------------+---------------+------+-----+---------+-------+
| 필드 | 유형 | 널 | 키 | 기본값 | 엑스트라 |
+-------------------+---------------+------+-----+---------+-------+
| source_id | varchar(54) | 아니요 | PRI (프리) | 널 | |
| target_id | varchar(54) | 예 | | 널 | |
| is_directory | 정수(11) | 아니요 | | 널 | |
| 크기 | bigint(20) | 예 | | 널 | |
| 엠타임 | 날짜/시간 | 예 | | 널 | |
| 상태 | varchar(32) | 아니요 | 물(MUL) | 널 | |
| transfer_start | 날짜/시간 | 예 | | 널 | |
| transfer_complete | 날짜/시간 | 예 | | 널 | |
| verify_start | 날짜/시간 | 예 | | 널 | |
| verify_complete | 날짜/시간 | 예 | | 널 | |
| retry_count | 정수(11) | 예 | | 널 | |
| error_message | varchar(2048) | 예 | | 널 | |
| is_source_deleted | 정수(11) | 예 | | 널 | |
+-------------------+---------------+------+-----+---------+-------+
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> 설명합니다<.
+-------------------+---------------+------+-----+---------+-------+
| 필드 | 유형 | 널 | 키 | 기본값 | 엑스트라 |
+-------------------+---------------+------+-----+---------+-------+
| source_id | varchar(54) | 아니요 | PRI (프리) | 널 | |
| target_id | varchar(54) | 예 | | 널 | |
| is_directory | 정수(11) | 아니요 | | 널 | |
| 크기 | bigint(20) | 예 | | 널 | |
| 엠타임 | 날짜/시간 | 예 | | 널 | |
| 상태 | varchar(32) | 아니요 | 물(MUL) | 널 | |
| transfer_start | 날짜/시간 | 예 | | 널 | |
| transfer_complete | 날짜/시간 | 예 | | 널 | |
| verify_start | 날짜/시간 | 예 | | 널 | |
| verify_complete | 날짜/시간 | 예 | | 널 | |
| retry_count | 정수(11) | 예 | | 널 | |
| error_message | varchar(2048) | 예 | | 널 | |
| is_source_deleted | 정수(11) | 예 | | 널 | |
| source_md5 | varchar(32) | 예 | | 널 | |
+ ------------------- + --------------- + ------ + ----- + --------- + ------- +
14 행 세트 (0.00 초)
MariaDB [ecs_sync]>
(여기서 <table_name> 는 기존 테이블의 이름입니다.)