1

我正在寻找可以执行以下操作的更新的 Django 1.5 命令。

python manage.py reset <app>

我想做的基本上是DROP表和UPDATE内部的数据库结构manage.py command

问题是重置命令不再起作用并且

manage.py flush

或者

manage.py sqlclear <app> 

只是删除数据库/表内容。

resetDjango 1.5的更新版本是什么?

4

2 回答 2

0

作为 MySQL 的替代方案,您可以使用以下代码创建一个application.pynext to 。manage.py

这将DROP,CREATEUPDATE您的数据库与您的models.py

#!/usr/bin/python
import MySQLdb
import subprocess

dbname = "mydbname"

db = MySQLdb.connect(host="127.0.0.1", user="username", passwd="superpassword", db=dbname)

cur = db.cursor() 

#Drop all database to Drop all tables
cur.execute("DROP DATABASE "+dbname)

#Recreate the DB
cur.execute("CREATE DATABASE "+dbname)

#Sync with manage.py
proc = subprocess.call(['python','manage.py','syncdb'])

print "\n\nFinished!"
于 2013-07-09T19:41:58.413 回答
0

我想你要找的是南方。South 是一个 3rd 方工具,它可能很快会集成到 Django 中,它可以帮助您进行数据库迁移和模式更改。就目前而言,Django 1.5 不能很好地处理模式更改,如果有的话。在 Django 1.5 中调整模式的唯一方法是添加新模型。您不希望参与添加新模型来完成所需的表更改或删除的实践。大多数开发人员在需要进行架构调整时会求助于第三部分解决方案。

http://south.readthedocs.org/en/latest/about.html

请参阅教程http://south.readthedocs.org/en/latest/tutorial/part1.html#tutorial-part-1

South 与数据库无关,可自动为您处理数据库迁移。因此,如果您更改架构,它将在 models.py 中检测到它并进行适当的更改。您可以将 South 作为应用程序包含到您的 Django 项目中,并通过 pip 安装它

希望这可以帮助

于 2013-07-12T18:20:32.770 回答