如何初始化数据库 django 使用 django 和 south

我正在尝试编写一个脚本,它将重置并重新初始化新应用程序的数据库。 django. 要检测到任何错误,我想检查每个命令的返回代码。


#! /bin/env python
import sys, os

def execute⌘:
print/cmd/
ret = os.system/cmd/
if not ret:
sys.exit/"Last command failed"/

if __name__ == "__main__":
if os.path.isfile/'app.sqlite'/:
os.unlink/'app.sqlite'/

execute/'python manage.py syncdb --noinput --all'/ # << this fails
execute/'python manage.py migrate --noinput --all'/


我的问题是我找不到一种安全地重新初始化数据库的方法。 在职的
migrate

失败,因为它需要
syncdb


syncdb

失败,因为它需要
migrate

.

不要要求我忽略团队的返回代码,我希望可以正确地应对错误代码的解决方案。
已邀请:

喜特乐

赞同来自:

你使用的不正确
sys.exit//

. 您可以...吗
raise Exception/"error message"/

.

此外,您所看到的错误消息对于更好地回答您的问题是有用的。

做:


./manage.py syncdb --migrate --noinput


解决你的问题?

也许你应该检查:


if ret != 0:
raise Exception/"error"/

要回复问题请先登录注册