【问题标题】:can't delete old south migrations from heroku无法从heroku中删除旧的南方迁移
【发布时间】:2013-02-16 20:28:06
【问题描述】:

我在我的 django 应用程序中进行了许多更改,在本地工作时,我重置了数据库,删除了迁移并重新向南重置,重新创建了所有内容,并且运行良好。 当尝试在 Heroku 中做同样的事情时, 删除数据库后使用:

heroku pg:reset DATABASE

并且还使用以下方法重置南方:

heroku run ./manage.py reset south

然后在查看 heroku 迁移列表时推送 Django 应用程序:

heroku run ./manage.py migrate --list

我仍然可以看到所有旧的移民, 尽管它们是空的—— () 中没有 * 所以即使做了之后

heroku run python ./manage.py migrate accounts --fake

我仍然遇到迁移错误:

DatabaseError at /admin/accounts/userprofile/

****relation "accounts_userprofile" does not exist
LINE 1: SELECT COUNT(*) FROM "accounts_userprofile"****

我能做些什么来解决它?有没有办法删除heroku中的旧迁移,就像在本地工作时重新开始一样简单? 还是他们有其他解决方案?

【问题讨论】:

  • 我认为--fake在数据库表已经存在并且您不再需要实际迁移真实数据库时使用。如果表不存在,您应该只运行 migrate 而不运行 --fake
  • 谢谢 :) 网站又回来了!
  • 太棒了。我将其添加为答案。

标签: django heroku django-south


【解决方案1】:

--fake 在数据库表已经存在并且您不再需要实际迁移真实数据库时使用。由于表不存在,您应该只运行 migrate 而不运行 --fake

【讨论】:

    猜你喜欢
    • 2019-04-09
    • 1970-01-01
    • 2012-05-03
    • 2013-07-09
    • 2013-01-26
    • 2014-10-28
    • 2020-01-19
    • 2018-11-12
    • 2011-12-14
    相关资源
    最近更新 更多