django 应用程序不断迁移而未生效 [heroku]
Posted
技术标签:
【中文标题】django 应用程序不断迁移而未生效 [heroku]【英文标题】:django app keeps migrating without taking effect [heroku] 【发布时间】:2017-04-19 01:22:42 【问题描述】:过去三天我一直在尝试解决此问题,但一直失败。
所以,我有一个简单的应用程序,现在只有 models.py 和 admin.py。 当我在本地迁移时,一切都很好,当我运行 createsuperuser 时,我可以创建一个可用于登录管理仪表板的用户。
但是,当我在 heroku 上做同样的事情时。它不起作用.. 坏消息是,这些表从未创建过,因为当我再次运行 migrate 时会发生这种情况:
我真的不知道它有什么问题,所以任何帮助将不胜感激。 在此先感谢:)
【问题讨论】:
您是在 heroku 上创建迁移文件吗?运行heroku run ./manage.py makemigrations
,然后运行migrate
是的,看第一张图,我照你说的做了。
AFAIK ,您需要通过 git 推送迁移文件,然后运行迁移。它应该可以工作。
能否请您评论命令,因为我不太明白您的意思..
【参考方案1】:
除了dnit13提到的问题之外,另一个问题是您使用的是sqlite。这不能在 Heroku 上工作。您必须使用适当的数据库,由插件提供。
【讨论】:
你是对的,当我改用 Postgres 时,它起作用了。不过必须学习它,这是值得的!谢谢:)【参考方案2】:在本地创建迁移文件python manage.py makemigrations
。
将这些文件添加到 git 并推送到 heroku。 (确保 .gitignore 中不会忽略迁移)
git add .
git commit -m "migration files"
git push heroku master # assuming your alias to be heroku
然后在heroku上迁移
heroku run ./manage.py migrate
【讨论】:
以上是关于django 应用程序不断迁移而未生效 [heroku]的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Django 项目迁移到 Pythonanywhere
Django Makemigrations 和 Migrate 不断重复
Django Admin Cookbook-38如何获取特定对象的Django Admin后台URL