Rails:关系schema_migrations的权限被拒绝

时间:2015-11-19 10:44:09

标签: ruby-on-rails postgresql apache2

我正在尝试为Ruby on Rails Web应用程序设置本地生产环境。我可以使用rails server命令运行应用程序,它提供了开发环境。

我尝试设置的制作环境纯属本地化,我已按照本教程使用apache 2进行设置:https://www.digitalocean.com/community/tutorials/how-to-setup-a-rails-4-app-with-apache-and-passenger-on-centos-6

然而,当我转到我的应用程序页面时,我收到以下错误:

PG::InsufficientPrivilege: ERROR: permission denied for relation schema_migrations : SELECT "schema_migrations".* FROM "schema_migrations"

在我的database.yml中我有这些开发和生产设置:

adapter: postgresql
database: whiteboard
username:
password:
pool: 5
timeout: 5000

我不允许更改这些设置,无论如何。

有什么方法可以解决这个问题吗? (如果是,请一步一步)

1 个答案:

答案 0 :(得分:7)

您似乎必须在数据库上创建具有所有必需权限的数据库用户。 例如,我认为您可以通过登录数据库控制台来执行此操作,然后执行以下操作:

CREATE USER your_new_username WITH PASSWORD 'your_new_password';
CREATE DATABASE whiteboard;
GRANT ALL PRIVILEGES ON DATABASE whiteboard to your_new_username;
ALTER DATABASE whiteboard OWNER TO your_new_username;

然后像这样更新database.yml

adapter: postgresql
database: whiteboard
username: your_new_username
password: your_new_password
pool: 5
timeout: 5000

希望它有所帮助!