【问题标题】:Heroku doesn't delete database when I remove it on server (Django app)当我在服务器上删除数据库时,Heroku 不会删除数据库(Django 应用程序)
【发布时间】:2012-09-21 02:50:25
【问题描述】:

我在 Heroku 的服务器中登录了我的应用程序目录:

Heroku run bash -app appname

然后我删除了我的数据库:

Rm -r dev.db

但是,当我尝试同步我的数据库时,它不会创建新表。当我去生产站点时,它仍然有所有的数据库内容,让我登录等等。

对我做错了什么有任何见解吗?我想完全重新创建数据库。

注意:我有一个 Django 应用程序

更新:这是我的数据库设置

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.sqlite3", # Add "postgresql_psycopg2", "postgresql", "mysql", "sqlite3" or "oracle".
        "NAME": PROJECT_ROOT + os.sep + "dev.db",                       # Or path to database file if using sqlite3.
        "USER": "",                             # Not used with sqlite3.
        "PASSWORD": "",                         # Not used with sqlite3.
        "HOST": "",                             # Set to empty string for localhost. Not used with sqlite3.
        "PORT": "",                             # Set to empty string for default. Not used with sqlite3.
    }
}

然后我有这个 Heroku 的注入代码:

import dj_database_url
DATABASES = {'default': dj_database_url.config(default='postgres://localhost')}

【问题讨论】:

  • 您使用的是哪个数据库?
  • 您可以从您的settings.py 发布数据库设置吗?
  • 我正在使用 SQLite,当我推送到 heroku 时,它会转换为 postgreSQL。我在上面编辑了我的问题以包含数据库设置

标签: django heroku


【解决方案1】:

或者您可以通过 Heroku 插件选项卡中的 UI 来完成。您只需删除插件,DATABASE_URL 将是可编辑/可删除的。

【讨论】:

    【解决方案2】:

    Heroku 默认为您提供 Postgres 数据库。要完全删除它,请运行:

    heroku addons:remove heroku-postgresql:dev
    

    然后创建一个新的:

    heroku addons:add heroku-postgresql:dev
    

    如果它没有自动将其提升到您的主数据库(如果是这样,您应该配置 var DATABASE_URL)然后运行:

    heroku pg:promote HEROKU_POSTGRESQL_COLORHERE
    

    【讨论】:

    • 你太棒了。谢谢! :-)
    • @CraigKerstiens,很好的答案,似乎计划的名称已经改变,所以对我来说有效的是使用hobby-dev 而不是dev。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-22
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    相关资源
    最近更新 更多