ActiveRecord :: StatementInvalid:PG :: InsufficientPrivilege:错误:关系schema_migrations的权限被拒绝

时间:2015-07-23 14:55:38

标签: ruby-on-rails ruby postgresql amazon-web-services rake

我有一个本地项目,有rails和postgres。我把它扔在我的AWS Amazon Linux AMI上。我在服务器上运行了rails和postgres的测试项目。但是,当我上传我的本地项目,并尝试运行

rake db:migrate

我收到以下错误:

ActiveRecord::StatementInvalid: PG::InsufficientPrivilege: ERROR:  permission denied for relation schema_migrations

我看到了一些类似的问题,但没有一个有用。我确实有适当的角色设置和连接。

1 个答案:

答案 0 :(得分:3)

我不确定您是否正在使用rake db:migrate生成RAILS_ENV作为生产或开发。无论它是什么(默认开发),在config / database.yml中它将说明它运行的用户,密码和数据库。该用户必须拥有ALL表的public.schema_migrations权限。如果确实如此,并且仍然无法正常工作,请确保该用户拥有public架构的所有权限。

详细了解如何操纵postgres数据库权限here。 Postgres有很好的文档。

还有一件事:如果您在本地创建此数据库,并尝试创建初始数据库而不是实际运行迁移,请使用rake db:schema:load而不是rake db:migrate从不在生产中运行此功能,因为它会删除您的数据!