gpt4 book ai didi

ruby-on-rails - 使用 Rails 4 错误在 Heroku 上创建 postgres 数据库

转载 作者:搜寻专家 更新时间:2023-10-30 23:44:13 27 4
gpt4 key购买 nike

PG::未定义表:错误

我正在尝试使用 postgres 数据库在 Heroku 上部署 Rails 4 应用程序。我有预编译的 Assets ,但现在当我运行时:

heroku run rake db:migrate

我收到这个错误:

PG::UndefinedTable: ERROR:  relation "users" does not exist
: ALTER TABLE "users" ADD COLUMN "invited_by_user_id" integer
rake aborted!

Stack Overflow 上的常见建议解决方案:

我尝试过重置数据库:

heroku pg:reset

数据库已重置,但我仍然无法运行 db:migrate。

我也试过:

heroku run db:setup

但我收到一条错误消息:

FATAL:  permission denied for database "postgres"
DETAIL: User does not have CONNECT privilege.

我使用的是 Rails 4.1.8,看到了 this question这表明我可能需要更新到 rails 4.1.9 或更高版本,但即使现在我使用的是 Rails 4.2.2,也不走运。

其他可能相关的信息:

使用 heroku 连接到 postgres 数据库

heroku pg:psql

然后用 '\l' 列出数据库会给我一长串具有神秘名称的数据库:

 Name      |     Owner      | Encoding |   Collate   |    Ctype    |         Access privileges         
----------------+----------------+----------+-------------+-------------+-----------------------------------
d100o5a2gii5he | rdxtahlqikernc | UTF8 | en_US.UTF-8 | en_US.UTF-8 | rdxtahlqikernc=CTc/rdxtahlqikernc
d102ehvv3umqam | ibuffadisyolrb | UTF8 | en_US.UTF-8 | en_US.UTF-8 | ibuffadisyolrb=CTc/ibuffadisyolrb
d103n2kea6j5sa | tzzkfcinullytw | UTF8 | en_US.UTF-8 | en_US.UTF-8 | tzzkfcinullytw=CTc/tzzkfcinullytw
d10597iiu347nk | eltovdzaxajtiu | UTF8 | en_US.UTF-8 | en_US.UTF-8 | eltovdzaxajtiu=CTc/eltovdzaxajtiu
d108g0imdgn865 | pvzysfivyhcnaa | UTF8 | en_US.UTF-8 | en_US.UTF-8 | pvzysfivyhcnaa=CTc/pvzysfivyhcnaa
...

dvs2j8tkv153m | zjefhzzizozpwy | UTF8 | en_US.UTF-8 | en_US.UTF-8 | zjefhzzizozpwy=CTc/zjefhzzizozpwy
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | postgres=CTc/postgres
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | postgres=CTc/postgres
(4787 rows)

我不确定该如何解释。

我是 Rails 的新手,但过去曾在 Heroku 上成功设置过多个数据库。遵循 Heroku 文档并没有帮助,我不确定从这里到哪里去。

如何让 db:migrate 无错误地完成?

注意:我在发布后就解决了这个问题。请参阅下面的答案。

最佳答案

发布这个问题几分钟后我就想通了,我希望这可以帮助其他人。

解决方案是从 Rails 4.1.8 升级到 Rails 4.2.2。

然后运行

heroku run rake db:schema:load

之前

heroku run rake db:migrate

由于某些原因,我的 Rails 4.1.8 项目无法运行。因此,在升级到 Rails 4.2.2 之后,我运行了架构加载和迁移命令,没有出现任何错误。

关于ruby-on-rails - 使用 Rails 4 错误在 Heroku 上创建 postgres 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31012746/

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