Проблема миграции MySQL 5.7.25 + (Windows) на Ubuntu 18 + MySQL 5.7.25

Victor Kyryllov6 years ago

Добрый день!
Есть рабочий сервер Windows server 2016 + MySQL 5.7.25 + Traccar 4.2
Второй, новый, на Ubuntu server 18.04.1 LTS + MySQL 5.7.25 + SSL + Traccar 4.2 - работает с чистой базой, всё ок!
При подключении сервера Ubuntu к базе на Windows по сети - так же работает корректно, SSL тоже работает!

Проблема возникает при попытке миграции базы из Windows в Ubuntu
При старте службы в логах вот такая ошибка:

2019-01-31 17:09:04 ERROR: Change Set changelog-4.0-clean::changelog-4.0-clean::author failed.  Error: Table 'tc_attributes' already exists [Failed SQL: CREATE TABLE db_traccar.tc_attributes (id INT AUTO_INCREMENT NOT NULL, `description` VARCHAR(4000) NOT NULL, type VARCHAR(128) NOT NULL, attribute VARCHAR(128) NOT NULL, expression VARCHAR(4000) NOT NULL, CONSTRAINT PK_TC_ATTRIBUTES PRIMARY KEY (id))]

2019-01-31 17:09:04  INFO: Successfully released change log lock

2019-01-31 17:09:04 ERROR: Main method error - Migration failed for change set changelog-4.0-clean::changelog-4.0-clean::author:
     Reason: liquibase.exception.DatabaseException: Table 'tc_attributes' already exists [Failed SQL: CREATE TABLE db_traccar.tc_attributes (id INT AUTO_INCREMENT NOT NULL, `description` VARCHAR(4000) NOT NULL, type VARCHAR(128) NOT NULL, attribute VARCHAR(128) NOT NULL, expression VARCHAR(4000) NOT NULL, CONSTRAINT PK_TC_ATTRIBUTES PRIMARY KEY (id))] - MigrationFailedException (... < DataManager:312 < *:90 < Context:382 < Main:110 < ...)

Таблицы все мигрируют корректно, без ошибок, пробовал разными способами - результат одинаковый.

Как можно решить эту проблему?

Anton Tananaev6 years ago

Попробуйте удалить changelog-4.0-clean.

Victor Kyryllov6 years ago

Удаление пути к changelog-4.0-clean в changelog-master.xml действительно помогло!
Сервер на Ubuntu заработал и подтянул всю базу! Спасибо большое!

Но это же временное решение? Какие последствия этого могут быть? Как быть при будущих обновлениях?

Anton Tananaev6 years ago

По идее не должно быть проблем. В крайнем случае нужно будет ту же процедуру проделать.