Ruby on rails Rails更改默认项目数据库';sqllite';到PostgreSql
我在学ruby。我创建了一些应用程序并使用它 我想把数据库改成postgres。我用Ruby on rails Rails更改默认项目数据库';sqllite';到PostgreSql,ruby-on-rails,postgresql,Ruby On Rails,Postgresql,我在学ruby。我创建了一些应用程序并使用它 我想把数据库改成postgres。我用 gem 'pg' [pg已安装在usr/bin/pg中] 然后使用更新database.yml 使用sqllite的postgresql pg连接不良: FATAL: role "user" does not exist 我已经创建了一些postgres用户。在博士后工作我应该做些什么 development: adapter: postgresql database: db/developmen
gem 'pg'
[pg已安装在usr/bin/pg中]
然后使用更新database.yml
使用sqllite的postgresql
pg连接不良:
FATAL: role "user" does not exist
我已经创建了一些postgres用户。在博士后工作我应该做些什么
development:
adapter: postgresql
database: db/development.postgresql
pool: 5
timeout: 5000
user:
adapter: postgresql
database: db/test.postgresql
pool: 5
timeout: 5000
production:
adapter: postgresql
database: db/production.postgresql
pool: 5
timeout: 5000
如果未指定用户名连接到PostgreSQL as,
libpq
将使用当前运行用户的登录用户名进行连接
libpq
是Rails用来连接PostgreSQL的Pg
gem
因此,在数据库.yml
中,指定要连接到数据库的PostgreSQL用户,就像使用用户:
条目一样。确保这对应于PostgreSQL中存在的用户,并且pg_hba.conf
允许该用户连接
要了解更多信息,请参阅。我知道这是一个两年前的问题,但我遇到了相同的问题,我通过更改config.yml的语法来修复它,然后我rake db:migrate
default: &default
adapter: postgresql
encoding: unicode
pool: 5
development:
<<: *default
database: yourappnamehere_development
test:
<<: *default
database: yourappnamehere_testdevelopment:
production:
<<: *default
database: YOURAPPNAME_production
username: YOURUSERNAME
password: <%= ENV['YOURAPPNAME_DATABASE_PASSWORD'] %>
default:&default
适配器:postgresql
编码:unicode
游泳池:5
发展:
你的database.yml内容是什么?是否有用户名:user。。?如果是,那么你是否在postgres中创建了一个名为users的角色?名为“user”的用户是否将被装箱?或者它应该是现有的吗?从你的database.yaml文件中删除用户名和密码(如果存在的话)。否则,如果你想使用特定的用户,那么你需要先在PostgreSql中创建它。yaml内容只是我发布的内容。[使用postgresql我创建了用户,但如何使用它?]我的rails在哪里访问它?