Описание проблемы
Через пару недель у меня возникла проблема с MySQL Workbench.
Я обновил свой Ubuntu и, вероятно, также приложение MySQL Workbench. У меня сейчас версия 8.0. (Версия локального MySQL сервера: 8.0.20 для Ubuntu, но я не думаю, что это актуально.)
Проблема возникает, когда я создаю сценарий прямого проектирования. Оператор CREATE TABLE для вновь добавленной таблицы (к существующей модели) теперь добавляет квалификатор COLLATE в столбец VARCHAR, например:
VARCHAR(45) COLLATE 'Default Collation' NOT NULL
Это приводит к сбою сценария прямого проектирования, например:
Error Code: 1273. Unknown collation: 'Default Collation'
Странная вещь
Параметры кодировки и сопоставления для этой таблицы точно такие же, как для всех других таблиц в модели, как на рисунке:
Все остальные таблицы, некоторые из которых имеют точно такое же определение столбца, создаются без квалификатора COLLATE ...?!
Вопрос
Как получить сценарий форвардного инжиниринга (лучше всего) не добавлять квалификатор COLLATE для этой таблицы ИЛИ (второй вариант) как получить форвардный инжиниринг сценарий для определения Default Collation
?
Возможно, уместно
Сценарий прямого проектирования генерирует оператор схемы следующим образом:
- MySQL Script generated by MySQL Workbench
-- wo 06 mei 2020 12:48:14 CEST
-- Model: New Model Version: 1.0
-- MySQL Workbench Forward Engineering
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
-- -----------------------------------------------------
-- Schema gsmg
-- -----------------------------------------------------
-- GMSG database.
DROP SCHEMA IF EXISTS `gsmg` ;
-- -----------------------------------------------------
-- Schema gsmg
--
-- GMSG database.
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `gsmg` ;
USE `gsmg` ;