【问题标题】:How to apply collation changes from SQL Alter script to EER model?如何将排序规则更改从 SQL Alter 脚本应用到 EER 模型?
【发布时间】:2013-05-18 18:22:05
【问题描述】:

我在尝试在 Linux Debian (3.2.41-2) 上的 MySQL Workbench(5.2.40,rev 8790)中更改 EER 模型中现有表的排序规则时遇到了麻烦。

我的修改脚本如下所示:

ALTER TABLE `my_db`.`articles` COLLATE = utf8_general_ci;

ALTER TABLE `my_db`.`articles_tags` COLLATE = utf8_general_ci;

ALTER TABLE `my_db`.`articles_tags_assignment` COLLATE = utf8_general_ci;

等等。大约有数百张桌子。

当我转到 文件 > 导入 > 逆向工程 MySQL 创建脚本... 并选择上述脚本,按“执行”,显示“导入完成”。

但实际上当我转到 Database > Synchronize Model... 点击所有细节并找到差异...然后我看到它仍然认为,我的 EER 模型有旧的排序规则 (latin1_swedish_ci)。

我是不是做错了什么,还是应该将其报告为 MySQL 工作台中的错误?

【问题讨论】:

  • 不确定“逆向工程 MySQL 创建脚本”功能是否支持ALTER 语句。
  • 表排序和字段排序不能不同吗?您查看的是字段还是表格本身?

标签: mysql-workbench eer-model


【解决方案1】:

正如菜单条目所说,MySQL Workbench 需要一个创建脚本,即包含 CREATE 语句的脚本。如果您只想更改少数排序规则,只需在表格编辑器中进行。大规模更改有点困难,因为您只能使用脚本中的插件来做到这一点。有一个用于更改所有表的存储引擎的插件。也许这可以帮助您入门。

【讨论】:

    【解决方案2】:

    我不能 100% 确定这会奏效,但如果其他人正在尝试实现上述目标,则值得一试:

    • 使用“正向工程师”创建模型中描述的数据库实例
    • 在您创建的实例上执行更改脚本
    • 使用“同步模型”并将所有操作更改为“更新模型”以将更改导入回工作台

    【讨论】:

      猜你喜欢
      • 2015-04-03
      • 2011-03-28
      • 2016-11-17
      • 1970-01-01
      • 2011-08-28
      • 2021-01-28
      • 1970-01-01
      • 2011-04-08
      • 1970-01-01
      相关资源
      最近更新 更多