目前我们的工作方式如下:
-
使用MySQL Workbench创建一个EER模型,至少有一个人参与讨论
-
从EER模型生成表格
-
manage.py inspectdb创建模型.py,小心编辑模型.py因为inspectdb不能完美工作
-
编码(现在我是唯一的编码员)。如果需要更改模型,但不需要更改EER图,则将更新代码
现在的问题是,如果关系图不同步,其他团队成员(现在只有一个)会觉得很难讨论进一步的更改。我的观点是,讨论可能只是基于代码,这也是某种文档。对我来说,看图表或代码没有太大区别。如果我们需要更新这份文件,对我来说,这看起来像是某种重复。你是怎么做到的?
我们还试图只保留一个源,例如代码,所以每次我们使用syncdb生成表,然后生成EER图时,问题是MySQL工作台的自动布局不太好,您总是需要重新排列所有内容。我还发现了一些工具,可以将UML图转换为模型,反之亦然,但我怀疑它是否能很好地工作,因为我曾经使用CASE工具,它可以从UML图和文档(例如Word)生成源代码(Java/C++),但该工具不易用,我遇到了一些问题。。。我的问题是,有没有一个好的工具可以轻松地保持代码和图表的同步?
如果您只想生成一个更新的图表来与您的团队合作:
-
安装django扩展和pygraphicz:
pip install pygraphviz django-extensions
- 将"django_extensions"添加到INSTALLED_APPS:这将启用django扩展管理命令
-
生成图形:
./manage.py graph_models -a -g -o my_project_visualized.png
阅读有关graph_model命令的更多信息。