Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 使用Django 1.5更新数据库结构_Database_Django_Django 1.5 - Fatal编程技术网

Database 使用Django 1.5更新数据库结构

Database 使用Django 1.5更新数据库结构,database,django,django-1.5,Database,Django,Django 1.5,我正在寻找更新的Django 1.5命令,它可以执行以下操作 python manage.py reset <app> 或 manage.py sqlclear 正在删除数据库/表内容 Django 1.5更新的reset版本是什么?作为MySQL的替代方案,您可以使用以下代码在manage.py旁边创建一个application.py 这将删除,创建,并使用您的型号更新数据库。py #!/usr/bin/python import MySQLdb import subproce

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

python manage.py reset <app>

manage.py sqlclear
正在删除数据库/表内容


Django 1.5更新的
reset
版本是什么?

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

这将
删除
创建
,并
使用您的
型号更新
数据库。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!"

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

请参见教程

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


希望这能有所帮助

我认为没有替代品,但你可以研究一下
manage.py sqlclear <app> 
#!/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!"