Rails和PostgreSQL - 执行迁移时的角色

时间:2015-03-02 14:17:15

标签: ruby-on-rails postgresql roles rails-migrations

我已成功导入PostgreSQL转储并将其与我的Rails应用程序链接。

尝试运行rails迁移时出现此错误:

  

ActiveRecord :: NoDatabaseError:FATAL:role" username"不存在

其中"用户名"是我的帐户名称。我在database.yml文件中有以下配置:

development: &default
  adapter: postgresql
  encoding: unicode
  database: name_of_the_db
  host: localhost
  username: postgres
  password: password
  template: template0

我想使用 postgres 用户运行迁移,而不是像this answer那样创建新角色。

为什么用户名被用作迁移的角色?我以为将使用database.yml中定义的用户。

如何配置 postgres

编辑:

我对pg_hba.conf文件进行了以下更改:

# Database administrative login by Unix domain socket
local   all             postgres                                password

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     password

但我只能更改用户身份验证的方式,而不能更改迁移时使用的用户。我无法在此文件中看到如何更改它。

0 个答案:

没有答案