我想清除我的数据库中的表格,所以我放弃了表格。通常我会做manage.py syncdb
重新创建它。但是,答案here表示不再使用syncdb
。那么,我该怎么做呢?如何用django-south恢复丢弃的表?
回答
嗯this exchange占地面积我很质疑:
如果你手动修改数据库,南都不会注意到 - 的 跟踪的是哪个版本的数据库是 south_migrationhistory表的唯一途径,所以如果你背后捣鼓它,你的责任是修理它的 。
我最终什么事做了评论指出,我有问题下降,做一个schemamigration
模型,创建一个我放弃了(所以南有东西砸),migrate
ING的空没有列的表格,然后取消注释该模型,schemamigration
和migrate
再次。有点烦人,不仅仅是丢下桌子,而且还好啊。
有相同的问题。不知道这部作品在任何情况下,但这里是我所做的:
- 评论了“南方”从INSTALLED_APPS
- 运行manage.py执行syncdb
- 取消注释“南下”在INSTALLED_APPS
- 运行管理。 py migrate
Voila!
您的里程可能会有所不同....
您在执行此操作时也需要重命名migrations文件夹,我只是以下划线作为前缀。在步骤1和2之间执行此操作,然后在步骤4之前重命名为'迁移' – 2015-02-26 15:26:21
这是一个相当晚回应,但对于谁都会碰到同样的问题(像我一样)的人。
通常下降由南管理应用程式的db_tables你应该使用:
python manage.py migrate appname zero
但是,如果你在DB手动降到他们让南知道它
python manage.py migrate appname zero --fake
而且当然要重新创建表格
python manage.py migrate appname
对于'migrate appname zero'! – 2012-12-18 10:33:35
只有当你丢掉_every_表 – 2013-01-16 21:51:37
+1时,这才有效帮助我在我的开发服务器上工作。谢谢! – tatlar 2013-05-30 16:14:32
确保已应用所有迁移: python manage.py migrate
告诉Django创建表,因为他们是在你的模型:python manage.py syncdb
告诉南一切是它应该是:python manage.py migrate appname --fake
这假设没有在的任何改变你的自创建上次迁移以来,型号为。
我知道这个问题已经过时,但我只是遇到了这个问题,并认为我会发布我的解决方案,以防万一这有助于任何人。
- 进入您的
models.py
数据库所在的文件夹。 - 将整个班级从
models.py
文件中删除。 - 运行./manage.py schemamigration
appname
--auto(这将创建另一个迁移,其中South
将识别删除此表)。您可能需要在数据库中重新创建一张空白表格,以便South
可以看到它。 - 运行
migration
,表应该从数据库中删除。 - 将表格类重新粘贴回
models.py
文件中的位置。 - 运行./manage.py架构迁移
appname
--auto。南应该拿起桌子,并允许你迁移 - 运行./manage.py迁移
appname
和南应重新添加到您的数据库表...与列等等,但没有数据,明显。 :)
哈哈很好,这正是我的答案所说的,但一步一步的布局。 – Claudiu 2013-11-23 05:40:57
噢,真好!对不起,我没有看到你回答。很高兴我们都至少达到了同样的决议。 :) – jaredgilmore 2013-11-25 18:16:59
- 1. jquery恢复丢弃后的图像
- 2. XCODE SCM恢复丢弃的文件
- 3. 在R中恢复丢失/丢弃的会话?
- 4. 恢复意外丢弃的未提交文件
- 5. MySQL丢弃表
- 6. 如何恢复蓝牙包丢失? Android
- 7. 恢复丢失的WiredTiger.wt
- 8. 如何计算可丢弃区域中的丢弃项目jquery
- 9. 如何丢弃记录?
- 10. 如何丢弃在Xcode
- 11. SSL丢失密码恢复
- 12. 如果图像已被丢弃,禁用图像丢弃?
- 13. 如何恢复丢失的Facebook应用程序
- 14. 如何恢复MYSQL表
- 15. 如何恢复表单?
- 16. 临时表不会丢弃
- 17. #temp表没有被丢弃
- 18. Laravel恢复丢失不起作用
- 19. 如何在mysql中丢弃重复记录的插入?
- 20. 如何取回丢弃的提交
- 21. 如何防止IIS7丢弃我的Cookie?
- 22. 如何在丢弃事件jquery上获取丢弃项目的ID
- 23. Git - 恢复丢失的提交
- 24. 恢复丢失的C#网页
- 25. 在CMS中恢复丢失的记录
- 26. SocketIO +节点 - 恢复丢失的连接
- 27. 在SOAPUI中恢复丢失的脚本
- 28. ,如何恢复?
- 29. 如何为cv :: SVMParams修复丢弃限定符[-fpermissive]?
- 30. 丢弃装饰
是否有可能在mysql中创建无列表? – 2013-10-17 09:45:00