在阅读了MySQL Workbench的文档后,我得到的印象是可以更改服务器中的数据库(例如添加新列),然后将DDL更改合并到您的EER图中。至少,它在数据库菜单中有一个同步模型选项。我发现这是一个很好的功能,因为我可以使用图形建模工具而不会成为它的囚犯。
实际上,当我运行这样的工具时,我提供了以下选项:
Model Update Source
================ ====== ======
my_database_name --> ! N/A
my_table_name --> ! N/A
N/A --> ! my_database_name
N/A --> ! my_table_name
我无法真正理解它,但是我基本上得到了它:
DROP SCHEMA my_database_name
CREATE SCHEMA my_database_name
CREATE TABLE my_table_name
这是模型的转储,它会覆盖my_table_name中的所有远程更改。
我误解了这个功能吗?
答案 0 :(得分:6)
以下是您可以遵循的真正错误。 http://bugs.mysql.com/bug.php?id=61211并且有一个mysql QA人员的解决方法:
解决方法是打开Scripting Shell,检查架构的名称并进行制作 确保oldName字段包含与您尝试同步的名称相同的名称 反对。 命令是:
# print current oldName value
print grt.root.wb.doc.physicalModels[0].catalog.schemata[0].oldName
# change the oldName field value
grt.root.wb.doc.physicalModels[0].catalog.schemata[0].oldName = "newname"
答案 1 :(得分:3)
诚实?我认为这是一个错误。我曾多次遇到同样的问题,我不确定是什么问题。
我建议您查看bug repository,如果找不到任何内容,请将此报告为新的。
答案 2 :(得分:1)
我总是多次使用同步成功!但是今天我有同样的问题 - 并且奇怪的方式?
所以我研究MySQL的BUG-Report并发现问题......
所以我是:
它有效! ...现在我必须在applicationconfig中更改数据库的名称......