Ruby on rails 推到Heroku会出现错误:“很抱歉,出了点问题。”
我已经做了一两个小时了,但似乎不知道问题出在哪里 我使用sqlite3进行开发,但在使用heroku之前,我决定使用ubuntu切换到pg,并且它在本地开发环境中运行良好 然后我推到Heroku,我一直得到一个空白的面包,上面写着:Ruby on rails 推到Heroku会出现错误:“很抱歉,出了点问题。”,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我已经做了一两个小时了,但似乎不知道问题出在哪里 我使用sqlite3进行开发,但在使用heroku之前,我决定使用ubuntu切换到pg,并且它在本地开发环境中运行良好 然后我推到Heroku,我一直得到一个空白的面包,上面写着: We're sorry, but something went wrong. 这真的没用。我是否可以通过heroku访问生产日志文件 另外,我最好的猜测是它与bd有关,可能它没有正确加载。我检查了我的heroku帐户并单击以下加载项: Heroku Postgre
We're sorry, but something went wrong.
这真的没用。我是否可以通过heroku访问生产日志文件
另外,我最好的猜测是它与bd有关,可能它没有正确加载。我检查了我的heroku帐户并单击以下加载项:
Heroku Postgres开发人员:Olive
现在我的数据库显示大小为6mb,但表0与此有关。然而,我不知道如何在heroku上查询我的数据库,而且网站上似乎没有界面来查看我的数据库。db不会使用git push heroku master自动推送
无论如何,db是我目前最好的猜测,但我不能确定,我不知道该怎么做,因为我没有日志
编辑:
我可以通过以下方式检查heroku上的数据库:
heroku pg:psql
从
然而,我的数据库中没有条目,我的开发数据库中也有条目,但显然它并没有传输到heroku,有没有办法用开发环境中的条目推送或覆盖heroku数据库
凯尔:
我尝试了taps操作,未能连接到数据库:
Sequel::DatabaseConnectionError -> PG::Error: FATAL: password authentication fai
led for user "pc"
FATAL: password authentication failed for user "pc" however I get the error:
pc在我的ubuntu机器上使用我的pg用户名,但是我的密码是可以的,因为它在我的本地机器上工作
mydatabase.yml文件
development:
adapter: postgresql
encoding: utf8
reconnect: false
database: someapp_development
pool: 5
username: pc
password: ***
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
adapter: postgresql
encoding: utf8
reconnect: false
database: someapp_development
pool: 5
username: pc
password: ***
production:
adapter: postgresql
encoding: utf8
reconnect: false
database: someapp_development
pool: 5
编辑:我检查了日志,事实上是数据库导致了问题,我表中的条目没有被推送到heroku中,并且由于数据库为空,我的应用程序正在崩溃。我知道设计不好,您可能需要迁移生产数据库
heroku run rake db:migrate
heroku restart
如果需要将数据导入heroku数据库,请参阅
编辑:
尝试以下替代方法:
heroku db:push postgres://user:pass@localhost/dbname
如果我没记错的话,用户postgres在Ubuntu上默认没有设置DB密码。这意味着,当您使用postgres OS用户帐户时,您只能登录到该帐户 假设您对该框具有root访问权限,则可以执行以下操作:
sudo -u postgres psql
如果数据库postgres not exists error失败,那么您很可能不在Ubunutu或Debian服务器上:-在这种情况下,只需将template1添加到命令:
sudo -u postgres psql template1
这些命令中的任何一个都会失败,并出现错误psql:FATAL:用户pc的密码身份验证失败,然后检查文件/etc/postgresql/8.4/main/pg_hba.conf:必须有这样一行作为第一个非注释行:
local all postgres ident
对于较新版本的PostgreSQL,ident实际上可能是对等的。也没关系
在psql shell中,您可以为DB用户postgres提供密码:
ALTER USER postgres PASSWORD 'newPassword';
现在,您应该能够为DB超级用户提供pgAdmin的有效密码,它也会很高兴的:- 0行还是0表?您的表在吗?当我浏览heroku仪表板时,它会在pg表的统计信息下显示:0但当我通过控制台访问我的数据库时,我可以看到我的所有数据库,但当我查询它们时,请从x选择*;我得到了正确的模式,但rows=0请使用heroku日志检查日志。
ALTER USER postgres PASSWORD 'newPassword';