Я только начал использовать MySQL Workbench, и у меня возникают многочисленные проблемы при синхронизации.
Я смоделировал схему с помощью Workbench и Forward Engineered и успешно запустил ее на сервере базы данных. Позже отредактировал триггер и попытался синхронизировать его с сервером базы данных
Поэтому я перешел к Database -> Synchronize Model...
У меня есть только отредактировал один триггер (просто добавил +1
к уже существующей переменной в триггере), но, как вы можете видеть, он показывает, что все таблицы должны быть изменены / обновлены (с небольшим желтым восклицательным знаком). Это должно быть не так?
И когда я нажимаю continue
, я заметил в сгенерированном скрипте, что он удаляет внешние ключи и снова добавляет их.
И когда я нажал на Execute
, он показывает ошибку:
ERROR: Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Default Collation' at line 1
Кроме того, он добавляет DEFAULT COLLATE Default Collation
для всех ALTER
операторов для схем и таблиц, что вызывает error 1064
ALTER SCHEMA `myschema` DEFAULT COLLATE Default Collation ;
.....
.....
.....
ALTER TABLE `table1`
COLLATE = Default Collation ;
ALTER TABLE `table2`
COLLATE = Default Collation ;
ALTER TABLE `table3`
COLLATE = Default Collation ;
....
....
....
....
MySQL Community Edition: 8.0.19
MySQL Workbench: 8.0.19
macOS: Catalina 10.15.3
Я исследовал другие сообщения SO о error: 1064
, и многие предлагали изменить версию , Итак, я также изменил версию MySQL в Workbench Model -> Model Options... -> MySQL -> Target MySQL Version: 8.0.19
, но ошибка все еще существует.
Я что-то упускаю или делаю неправильно?
Я пытался (наоборот) синхронизировать модель (как место назначения) с сервером базы данных ( как источник), чтобы убедиться, что по крайней мере сервер базы данных соответствует ожидаемому. Итак, когда я сделал это, все внешние ключи были удалены в диаграмме EER.
Я проверил на сервере базы данных, присутствуют ли даже внешние ключи, использующие эту запись , и все в порядке на сервер.