Django获取syncdb sqlall语句以在代码更改后更新

标签 django syncdb

试图查看 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/

相关文章:

python - Django ReST Framework - 扩展用户模型不接受 "null=true"

使用继承和外键时,Django syncdb 冲突related_name

python - 同步数据库时我应该使用什么密码?

python - 添加 super 用户时 Django SYNCDB 失败(Windows 7、mySQL、Django 1.2.4、mySQL 5.5)

django - Sphinx Docs 不导入 Django 项目设置

Django 测试使用现有数据库

python - 使用 django 和 django rest 框架时的异常处理

python - 为什么 Django 不断询问内容类型是否过时需要删除

django - 运行 Django 的 syncdb 时 OSX 10.7.3 上的 Postgresql 套接字错误