我正在尝试使用 AWS Cloud9 启动我的 Rails 环境并使用 Postgres 数据库运行,但在尝试运行时遇到了问题rails db:migrate
。
最初我通过运行创建项目:
- rails new app_name -d postgresql
- 捆绑安装
Bundler 发现有问题gem 'pg'
,所以我跑了:
- sudo yum 安装 postgresql-devel
- sudo yum 安装 postgresql-server
- 须藤 postgresql initdb
- sudo 服务 postgresql 启动
之后服务器启动良好,我认为一切都很好,直到运行rails db:migrate
它返回错误:
PG::ConnectionBad: FATAL: 角色“ec2-user”不存在
我不确定如何解决这个问题。
有人建议我可能需要进入我的 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'] %>