使用Python生成数据库架构
我想为我的Django项目生成一个基本的数据库结构,这样可以展示我所有的应用程序、模型和模型字段,以及一些边界条件等等。请问有没有现成的数据库结构生成工具可以用在Django上?如果没有,我该怎么做呢?
3 个回答
2
使用你的数据库
正如在教程中提到的,你可以使用数据库的命令行工具来获取数据库的结构信息。
下面是使用sqlite的例子:
python manage.py dbshell
> .schema
你可能需要先安装sqlite3才能使用这个功能。
使用Django
以前你可以用 python manage.py sql ...
来查看数据库的结构,但在1.9版本中这个功能被弃用了,取而代之的是迁移功能。你可以通过以下命令查看初始的迁移脚本:
python manage.py sqlmigrate myapp 0001_initial
5
manage.py sql <appname appname ...>
是一个命令,用来查看你在 Django 应用中定义的数据库表的 SQL 语句。简单来说,这个命令可以帮助你了解 Django 是如何把你的模型(也就是你定义的数据结构)转换成数据库可以理解的格式。你只需要把 `
15
如果你想查看SQL的结构,可以运行 ./manage.py sqlall <appname>
这个命令。
如果你想要一个结构的可视化图,可以安装 django-extensions
,然后运行 ./manage.py graph_models -a -g -o my_project.png
。这个命令会为你生成一个漂亮的结构图,但通常会省略一些边界条件。你可能需要查看一下选项,以添加更多的数据。http://readthedocs.org/docs/django-extensions/en/latest/graph_models.html