这基本上是这个问题的转发,没有给出令人满意的答案。
我正在使用 EER 图完成数据库的设计。我现在想进行正向工程并将数据库导入到工作数据库中。然后我将使用 phpMyAdmin 开始添加数据和编码网站。
现在,在编码时,对数据库结构进行必要更改的最佳方法是什么?是从 phpmyadmin 导出并在 MySQL Workbench 中导入的唯一方法吗?如果是这样,当我添加/删除列时它如何处理现有行?而且,当需要再次对其进行正向工程并通过 phpmyadmin 导入时,我的所有数据还会在那里吗?
你怎么处理这个?
从有限的个人经验来看,这是一个有争议的观点。
我相信是 Workbench 多次搞砸了往返工程的过程。我不记得所有细节,但它确实同步了比实际更改更多的对象。它默默地删除了一些数据几次。它有时会生成服务器拒绝的 SQL。这是一个开发数据库,没什么大不了的,尤其是与好处相比。但在生产中,我宁愿避免受这种工具的摆布。
其他人的经历类似,例如MySQL Workbench 模型/源同步问题
因此,对于生产数据库,可能存在风险,包括丢失数据的风险。我会坚持使用 phpmyadmin 并同步回模型,始终检查 Workbench 将要做什么。保留模型仅供参考。
MySQL Workbench 使用双向同步,允许将模型中的任何更改发送到服务器,同时从服务器获取任何更改到您的模型中。用于此过程的对话框允许取出单个更改甚至恢复方向。使用菜单 Database -> Synchronize Model... 来完成此任务。