【问题标题】:Add a column to heroku postgres database向 heroku postgres 数据库添加一列
【发布时间】:2014-09-02 01:27:30
【问题描述】:

因此,我在本地更改了几次模型,并使用 South 让一切正常运行。我有一个 postgres 数据库来为我的实时站点提供动力,并且一个模型不断触发列 mainsite_message.spam does not exist 错误。但是当我从终端运行heroku run python manage.py migrate mainsite 时,我得到Nothing to migrate。我所有的迁移都被推送了。

【问题讨论】:

    标签: python django postgresql heroku


    【解决方案1】:

    获取可用于您的应用的迁移列表(它将标记哪些待处理以及哪些其他已迁移)。

    heroku run python manage.py migrate <your app name> --list
    

    如果您已使用 --fake 进行迁移,则确定待处理的迁移数量(例如 0003),然后执行迁移还原以获取之前的状态:

    heroku run python manage.py migrate <your_app_name> 0002 --fake
    

    现在再次尝试迁移。

    heroku run python manage.py migrate <your app name>
    

    【讨论】:

      【解决方案2】:

      您之前是否运行过架构迁移?如果是,请转到您的数据库并查看您的表“south_migrationhistory”,您可以看到发生了什么。

      如果您已经完成了上述步骤,您应该尝试打开您的迁移文件并查看一下,您可以在其中找到是否指定了创建列!

      【讨论】:

        【解决方案3】:

        我假设您已创建迁移以将 mainsite_message.spam 添加到架构中。您确定此迁移在您的 git 存储库中吗?

        如果您键入git status,您应该会看到未跟踪的文件。如果迁移未被跟踪,您需要git add path_to_migration,然后将其推送到 Heroku,然后才能在那里运行。

        【讨论】:

        • 不,肯定是添加的。我对 --fake 做了一些修改;也许我以某种方式跳过了它,需要回溯?
        猜你喜欢
        • 1970-01-01
        • 2013-08-17
        • 1970-01-01
        • 1970-01-01
        • 2020-05-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-15
        相关资源
        最近更新 更多