Bel*_*der 4 postgresql ruby-on-rails aws-cloud9
我正在尝试使用AWS Cloud9来使我的Rails环境和Postgres数据库一起运行,并且在尝试运行时遇到了问题rails db:migrate。
最初,我通过运行以下命令创建了项目:
Bundler发现问题,gem 'pg'所以我跑了:
之后服务器启动正常,我认为一切都很好,直到运行后才rails db:migrate返回错误:
PG :: ConnectionBad:FATAL:角色 “EC2用户” 不存在
我不确定如何解决此问题。
已经建议我可能需要进入psql shell并更改或创建新角色,但是我不确定如何更改ec2-user。
还建议我的pg_hba.conf文件可能需要进行一些更改。我有该文件的路径,但是不确定如何编辑它,或者我是否真的想这样做。
有什么建议么?我包括database.yml以下内容:
default: &default
adapter: postgresql
encoding: unicode
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
development:
<<: *default
database: my_app_development
test:
<<: *default
database: my_app_test
production:
<<: *default
database: my_app_production
username: my_app
password: <%= ENV['MY_APP_DATABASE_PASSWORD'] %>
Run Code Online (Sandbox Code Playgroud)
每个的用户psql还需要一个与其姓名匹配的对应数据库。
在bash命令行上:
sudo -u postgres createuser -s ec2-user
sudo -u postgres createdb ec2-user
Run Code Online (Sandbox Code Playgroud)
上面的内容应该允许您的用户访问psql,但是还不允许Rails进行迁移。您首先必须执行以下操作:
sudo su postgres
psql
ALTER USER "ec2-user" WITH SUPERUSER;
\q
exit
Run Code Online (Sandbox Code Playgroud)
我很快就整理好了,所以如果您遇到任何问题,请告诉我。
If your config/database.yml is using a different login user to your bash user, you should repeat all above steps for that user as well.
Lastly, although you are on Cloud9, this is just a simple Rails/Postgres issue, rather than an AWS issue.
| 归档时间: |
|
| 查看次数: |
2038 次 |
| 最近记录: |