我正在寻找可以执行以下操作的更新的Django 1.5命令。
python manage.py reset <app>
我想要做的基本上是DROP
表和UPDATE
里面的数据库结构manage.py command
。
重要的是重置命令不再有效
manage.py flush
或
manage.py sqlclear <app>
只是删除数据库/表格内容。
Django 1.5的更新reset
版本是什么?
答案 0 :(得分:0)
作为MySQL替代方案,您可以使用以下代码在application.py
旁边创建manage.py
。
这将DROP
,CREATE
和UPDATE
您的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!"
答案 1 :(得分:0)
我认为你在寻找的是南方。 South是第三方工具,可能很快就会集成到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
进行安装希望这有帮助