最初当我在Heroku上配置一个数据库(免费的)时,我的应用程序获得了一个名为DATABASE_URL
的新环境变量,该变量指向一个新创建的数据库,我的应用程序使用这个。
今天,当我通过UI在Heroku上配置一个新数据库(付费)时,我得到了一个名为HEROKU_POSTGRESQL_MAUVE_URL
的新环境变量,它指向新数据库。
如何将我的Heroku应用程序指向这个新配置的数据库HEROKU_POSTGRESQL_MAUVE_URL
?
我希望我的数据库URL与HEROKU_POSTGRESQL_MAUVE_URL
交换,但这并没有发生。
当你的应用程序有多个数据库时就会发生这种情况:
作为配置过程的一部分,
)。DATABASE_URL
配置变量被添加到应用程序的配置中。DATABASE_URL
包含您的应用程序用于访问数据库的URL。如果你的应用程序已经有一个Heroku Postgres数据库,并且你已经配置了另一个数据库,那么这个配置变量的名称应该改为HEROKU_POSTGRESQL_<COLOR>_URL
格式(例如,HEROKU_POSTGRESQL_YELLOW_URL
你可以提升你的新数据库使其为主数据库:
pg:promote
用新提升的数据库的连接字符串更新DATABASE_URL
配置变量的值。它还为旧的主数据库创建了一个备用附件,并分配了一个新的HEROKU_POSTGRESQL_<color>_URL
配置变量。
例如:
heroku pg:promote HEROKU_POSTGRESQL_MAUVE_URL -a your-app
您应该继续使用DATABASE_URL
环境变量连接到您的数据库。