试图查看 syncdb 在当前时刻生成的 SQL。
经过几次搜索,答案并不明显——我知道你可以使用:
python manage.py syncdb --sqlall
返回:
Create the database tables for all apps in INSTALLED_APPS whose tables haven't already been created.
如果代码发生了变化,我如何输出整个数据库发生的变化?
有没有办法为此时需要同步数据库的所有应用程序生成所有 SQL?或者我只需要明确说明每个应用程序?我不是在寻找整个站点的所有 SQL,只是为了由同步数据库实现的更改。
我有几个应用程序需要生成 sql 来描述更改。我可以明确列出它们,但是有没有办法让 syncdb 帮我解决这个问题?
最佳答案
你可以做
./manage.py sqlall <app_name>
获取 sql statements and initial data for the app.
如果您只想要 sql statements ,
./manage.py sql <app_name>
这是一个 mangement command为所有已安装的应用程序打印 sqlall。
或者,您可以编写自己的管理命令来获取所有已安装的应用程序,并调用
./manage.py sql <app_name>
对于每个。
关于Django获取syncdb sqlall语句以在代码更改后更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17015382/