我处于开发的初始阶段,模型正在发生很大的变化 我必须继续删除旧表,然后执行“syncdb”
虽然我很欣赏syncdb不会改变旧表的原因,
答案 0 :(得分:2)
我通常这样做是在数据库级别。例如,如果您使用的是postgres,并且只想吹掉整个数据库以重新开始,那么您可以这样做:
dropdb -U postgres "dbname"
createdb -U postgres -O "db_user" "db_name"
对于我正在处理的长项目,我使用fabfile来自动执行上述任务,以及从我的生产服务器获取最新数据库,并覆盖我的本地开发数据库。
此外,相关的是数据库“迁移”,这在您在生产中运行一段时间后更改代码时成为一项要求。很多人/应用使用South,但我更喜欢Nashvegas来访问我的网站。
使用Nashvegas,我会创建一个0001_add_field_blah.sql文件,其中包含用于更改数据库的原始SQL命令。例如:
ALTER TABLE myapp_model RENAME COLUMN first_name TO given_name;
答案 1 :(得分:0)
我使用python manage.py reset <app>
。我不认为在项目范围内有办法做到这一点。