MySQL Workbench Reverse Engineer не будет импортировать некоторые таблицы

Я пытаюсь изучить некоторые mysql, php, apache и yii для личного проекта, который, надеюсь, будет расширен до чего-то коммерческого.

Я разрабатываю схему на рабочем месте MySQL и перенаправляю ее на локальный сервер MySQL. Все хорошо до этого момента. Моя идея состоит в том, чтобы разрабатывать и обновлять базу данных прямо на сервере, а затем реконструировать или синхронизировать ее с Workbench, чтобы увидеть ее на диаграмме. Но когда я пытаюсь реконструировать базу данных, ни одна из таблиц не импортируется (и на самом деле они были созданы самим Workbench.

Я попытался устранить проблему и создал базу данных на сервере только с одной таблицей и только с одним столбцом в ней, который находится в типе данных VARCHAR. Эта база данных была реконструирована без сбоев. Но когда я пытаюсь добавить к нему столбец INT и DATETIME, он натыкается на стену:

Версия MySQL Workbench для Windows (6.0.8)

    WARNING: Mapping failed for datatype `int(11)`
    WARNING: Mapping failed for datatype `datetime`

Linux-версия MySQL Workbench (6.0.8)

    ERROR: Line 5: SQL syntax error near 'int(11) NOT NULL,
      `name` varchar(20) DEFAULT NULL,
      `insertDate` datetime DEF'. Statement skipped.

(Сервер MySQL версии 14.14, дистрибутив 5.5.34 / на компьютере с Ubuntu 12.04 LTS)

Я должен добавить, что сама таблица отлично работает, когда я пытаюсь добавить, обновить и удалить строки.

Любые идеи о том, что я делаю неправильно?

Изменить. Основываясь на ответе Питера,

На самом деле я также пытался синхронизировать модель с базой данных, а не с reverse engineering, это тоже не работает (я собирался опубликовать несколько изображений, но не смог из-за низкой репутации). В разделе «Источник» он показывает желтый восклицательный знак и N / A, хотя я трижды проверял, что таблица есть. Фактически, он был создан самой MySQL Workbench!

После ответа петерма я повторил процесс синхронизации, чтобы сделать скриншоты. При этом я заметил еще кое-что. При попытке обновить таблицу через MySQL Workbench выдает ошибку:

Error parsing DDL for `test2`.`inttest` 
There was an error while parsing the DDL retrieved from the server.
Do you want to view the DDL or cancel processing it? 

Когда я нажимаю View DDL, отображается сценарий создания таблицы, но ключевые слова INT и VARCHAR пишутся строчными буквами.

Я не эксперт, но разве int и varchars не должны быть в верхнем регистре?

И это только в - Когда я пытаюсь отредактировать DDL в открытом окне (последний скриншот), MySQL workbench выключается, а также замораживает вкладки firefox с flash player. Это также выключает мою виртуальную машину Windows.


person SercioSoydanov    schedule 05.12.2013    source источник


Ответы (1)


Поскольку вы ранее создали модель, используйте Database -> Syncronize Model вместо Reverse Engineer.

В диалоговом окне Model and Database Differences выберите Update Model и нажмите Continue.

Модель синхронизации MySQL Workbench

person peterm    schedule 05.12.2013
comment
Спасибо за ваш ответ, я тоже пробовал - просто забыл упомянуть в вопросе. И, к сожалению, тоже не работает. Я обновил свой вопрос соответственно. - person SercioSoydanov; 05.12.2013