【问题标题】:Generate ER Diagram from existing MySQL database, created for CakePHP [closed]从现有 MySQL 数据库生成 ER 图,为 CakePHP 创建 [关闭]
【发布时间】:2011-05-18 14:28:51
【问题描述】:

对于 CakePHP 应用程序,我创建了 MySQL 数据库。

用什么工具来制作数据库的ER图?表之间的字段和关系以 cakePHP 喜欢的方式创建。

提前谢谢你!

【问题讨论】:

标签: mysql cakephp mysql-workbench reverse-engineering er-diagrams


【解决方案1】:

使用MySQL Workbench。创建数据库的 SQL 转储文件

按照以下步骤操作:

  1. 点击文件->导入->逆向工程MySQL创建脚本
  2. 单击浏览并选择您的 SQL 创建脚本。
  3. 确保选中“将导入的对象放在图表上”。
  4. 点击执行按钮。
  5. 你已经完成了。

【讨论】:

  • 这对我有用,但我看不到表之间的关系?任何想法?建议?
  • 对我来说也很棒。但同样的问题。无法获取表之间的关系。
  • 在最新版本的 MySQL Workbench(6.2,Windows)中,该选项位于 Database > Reverse Engineer 中。导入 MySQL 5.6 数据库时,它为我包含了外键。
  • 从 OS X 6.3 开始,数据库 > 逆向工程师工作得很好。表关系没有问题,它们都包含在内。
  • 尝试使用 apache derby sql。作为一种魅力。谢谢。
【解决方案2】:

试试MySQL Workbench。它包含非常好的数据建模工具。查看他们的 screenshots 了解 EER 图(增强的实体关系,这是一个提升 ER 图)。

这不是 CakePHP 特有的,但您可以修改选项,以便外键和连接表遵循 CakePHP 使用的约定。一旦您制定了规则,这将简化您的数据建模过程。

【讨论】:

  • 我的印象是 EER 图是“实体-实体关系图”......我也推荐 MySQL Workbench。
  • 如果你有一个没有数据透视表的 M:N 关系,那么在 MySQL Workbench 中似乎没有办法在不引入数据透视表的情况下绘制这样的关系。当现有列不遵循其自己的命名约定时,它还会在放置关系时创建列。所以对我来说,MySQL Workbench 对于对现有模式进行逆向工程看起来并不那么高效。似乎更倾向于使用自以为是的(尽管可能是好的)实践来设计一个新的模式。
  • 但是如何在 Ubuntu 的工作台中实现这一点,它的退出方式不同
  • 截图看起来很棒,但您从未真正告诉我们如何到达那里。这不应该是公认的答案。
【解决方案3】:

如果您不想安装 MySQL 工作台,并且正在寻找在线工具,这可能会有所帮助:http://ondras.zarovi.cz/sql/demo/

我经常使用它为我构建的各种应用程序创建简单的数据库模式。

【讨论】:

    【解决方案4】:

    CakePHP 旨在用作 Ruby on Rails 框架的克隆,在 PHP 中完成,因此任何底层数据库的逆向工程都是毫无意义的。 EER 图应从模型层进行逆向工程。

    Ruby 确实存在这样的工具 在这里,您可以看到从 Models 逆向工程的 Redmine 数据库 EER 图。不是来自数据库。 http://redminecookbook.com/Redmine-erd-diagrams.html

    使用以下工具: http://rails-erd.rubyforge.org/ http://railroady.prestonlee.com/

    【讨论】:

    • 您可以使用 Navicat 或 SQL Yog、DBMS 工具来设计您的 ERD。
    • 在像 Ruby 或 Cakephp 这样的框架中,关系是通过模型来管理的,而不是通过数据库。数据库是在没有关系的情况下完成的,因此,Navicat 或 SQL Yog 不会意识到表之间存在关系......
    • 是的,没错,我在想应用程序还没有准备好。
    猜你喜欢
    • 2011-01-06
    • 2013-08-09
    • 2013-04-30
    • 2011-03-29
    • 2018-09-07
    • 2015-03-21
    • 2010-09-05
    • 1970-01-01
    • 2016-02-22
    相关资源
    最近更新 更多