gpt4 book ai didi

python - 如何让 South 在 Heroku 中为 Django 应用程序工作

转载 作者:太空狗 更新时间:2023-10-30 01:45:06 24 4
gpt4 key购买 nike

我正在使用 Python/Django,我正在尝试使用 South 来管理我的数据库。在本地环境中运行良好。当我部署到 Heroku 时,问题就来了。问题是当我使用

创建迁移时
$heroku run manage.py schemamigration mydjangoapp

看起来它可以工作(shell 确认它),但是,然后我尝试使用迁移,但它不会工作。当我这样做时:

$heroku run python manage.py migrate mydjangoapp

我明白了;

The app 'createtuto' does not appear to use migrations

我检查了这个问题,看起来 heroku 不允许 South 在/myDjangoapp/migrations 创建迁移目录。

我能做些什么来让它发挥作用吗?

我尝试使用 convert_to_south,但我得到了相同的结果:一开始它看起来有效,但它没有,没有创建迁移。

最佳答案

当您运行“heroku run”时,它会连接到您已部署环境的一个隔离实例。它确实创建了迁移,但是该迁移不包含在您的 slug 中。每次您执行“git push heroku master”时,它都会安装您的依赖项并将您的应用程序打包到一个 slug 中。这或多或少是您应用程序的压缩包,它使 Heroku 能够在您扩展时轻松地将其部署到新的 dynos。

为了在 Heroku 上运行迁移,您需要在本地创建迁移,将其 checkin ,然后在 Heroku 上运行迁移。类似于:

manage.py schemamigration mydjangoapp
git add mydjangoapp/migrations/*
git commit -m 'adding new migrations'
git push heroku master
heroku run python manage.py migrate mydjangoapp

关于python - 如何让 South 在 Heroku 中为 Django 应用程序工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9724000/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com