代码之家  ›  专栏  ›  技术社区  ›  Patricio Sard

我需要升级Heroku中的一个数据库以支持超过10K行,从而将hobby dev升级到Heroku上的hobby basic

  •  0
  • Patricio Sard  · 技术社区  · 6 年前

    我有一个应用程序在Heroku,这是达到10K行上限,所以我必须升级我的Heroku数据库,但我有一对夫妇的怀疑,这和我不想完全确定我在做什么之前,生产数据库。

    首先,我不是100%的参与这个过程,经过很多时间我发现 this link ,所以我猜我必须在帐户设置中输入我的帐单详细信息,添加一张信用卡,然后我就可以创建一个爱好基本数据库,并且每个月自动从我的信用卡中扣除9美元,对吗?

    在更改我的应用程序数据库的过程中,命令如下:

    1. 首先,我会把我的应用程序在维护模式

    heroku maintenance:on --app my_app_name

    1. 然后我会做一个数据库备份并下载它

    heroku pg:backups:capture --app my_app_name

    heroku pg:backups:download --app my_app_name

    1. 我也会得到我的老DB的名字

    heroku pg:info --app my_app_name

    1. 然后我创建一个新的数据库

    heroku addons:create heroku-postgresql:hobby-basic --app my_app_name

    让我们假设一下 HEROKU_POSTGRESQL_ROSE_URL

    1. 我把旧数据库里的所有记录都复制到新数据库里

    heroku pg:copy DATABASE_URL HEROKU_POSTGRESQL_ROSE_URL --app my_app_name

    1. 为了确认我写下了我的应用程序的名称

    my_app_name

    1. 然后我将我的新数据库指定为主数据库

    heroku pg:promote HEROKU_POSTGRESQL_ROSE_URL --app my_app_name

    heroku maintenance:off --app my_app_name

    1. 然后我删除了我的旧数据库

    heroku addons:destroy old_db_name --app my_app_name

    编辑 :所以我做了一个测试,创建一个 hobby-dev

    另外,备份的大小是200KB,而在Heroku接口中,DB的大小是10MB,这正常吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   RangerRanger    6 年前

    我试着按你问题的顺序回答。

    1. 是的,您需要先将帐单信息添加到您的帐户,然后才能提供像 hobby-basic 数据库。一旦您的帐单信息被添加,您将被允许提供数据库。

    2. 您详细介绍的升级过程有些低效。不按特定顺序:

      • 不要等到升级过程的中间才创建新数据库。可以提前做。
      • ROSE 数据库列为目标,但新数据库可能具有不同的颜色。此信息可从 pg:info
      • 步骤6也是不必要的。你可以这样用一行字确认, heroku pg:copy DATABASE_URL HEROKU_POSTGRESQL_ROSE_URL --app my_app_name --confirm my_app_name
    3. 备份转储文件比现有数据库小得多是正常的。转储文件是不包含表膨胀或索引的压缩二进制文件。在某些情况下,转储文件的大小可能是原始数据库的10%。