ActiveRecord::StatementInvalid: PG::Error: ERROR: must be owner of database [英] ActiveRecord::StatementInvalid: PG::Error: ERROR: must be owner of database

查看:111
本文介绍了ActiveRecord::StatementInvalid: PG::Error: ERROR: must be owner of database的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是 rails 新手,当我尝试运行 bundle exec rake test:prepare 时发生了一些错误,有人问了同样的问题 点击这里,我已经包括了psql 输出.任何人都可以帮忙吗?谢谢你.

I'm new to rails , Some errors occurred when I tried to run bundle exec rake test:prepare , Same question had been asked Click here ,I have included the psql output. Anyone can help? Thank you.

我遇到了流动错误:

rake aborted!
ActiveRecord::StatementInvalid: PG::Error: ERROR:  must be owner of database testp00
: DROP DATABASE IF EXISTS "testp00"
/Users/snailwalker/.rvm/gems/ruby-2.0.0-p481/gems/activerecord-4.0.2/lib/active_record/connection_adapters/postgresql/database_statements.rb:128:in `exec'
/Users/snailwalker/.rvm/gems/ruby-2.0.0-p481/gems/activerecord-4.0.2/lib/active_record/connection_adapters/postgresql/database_statements.rb:128:in `block in execute'
/Users/snailwalker/.rvm/gems/ruby-2.0.0-p481/gems/activerecord-4.0.2/lib/active_record/connection_adapters/abstract_adapter.rb:435:in `block in log'
/Users/snailwalker/.rvm/gems/ruby-2.0.0-p481/gems/activesupport-(required)>'
/Users/snailwalker/.rvm/gems/ruby-2.0.0-p481/gems/activerecord-4.0.2/lib/active_record/railties/databases.rake:370:in `block (3 levels) in <top (required)>'
Tasks: TOP => db:test:load => db:test:purge
(See full trace by running task with --trace)

psql :

   snailwalker=# \l
                                     List of databases
       Name        |    Owner    | Encoding | Collate | Ctype |      Access privileges      
-------------------+-------------+----------+---------+-------+-----------------------------
 devep00           | snailwalker | UTF8     | C       | UTF-8 | 
 myapp_development | snailwalker | UTF8     | C       | UTF-8 | 
 myapp_test        | snailwalker | UTF8     | C       | UTF-8 | 
 postgres          | snailwalker | UTF8     | C       | UTF-8 | 
 snailwalker       | snailwalker | UTF8     | C       | UTF-8 | 
 template0         | snailwalker | UTF8     | C       | UTF-8 | =c/snailwalker             +
                   |             |          |         |       | snailwalker=CTc/snailwalker
 template1         | snailwalker | UTF8     | C       | UTF-8 | =c/snailwalker             +
                   |             |          |         |       | snailwalker=CTc/snailwalker
 testp00           | snailwalker | UTF8     | C       | UTF-8 | 
(8 rows)

databse.yml:

databse.yml:

  development:
  adapter: postgresql
  encoding: unicode
  database: devep00
  pool: 5
  username: taouan
  password:

test:
  adapter: postgresql
  encoding: unicode
  database: testp00
  pool: 5
  username: taouan
  password:

推荐答案

感谢 RAJ 提醒我检查 database.yml 文件,我以某种方式为用户名设置了一个值,但我忘记了,默认情况下应该是 nil,所以我删除了用户名:taouan",然后运行 ​​bundle exec rake test:prepare 它工作了.另一种方法是ALTER DATABASE testp00 OWNER TO "taouan"

Thanks RAJ for reminding me to check the database.yml file ,i put a value for username somehow and i forgot it, by default it should be a nil, So i deleted username: "taouan " then run bundle exec rake test:prepare it worked. Alternative way is ALTER DATABASE testp00 OWNER TO "taouan"

这篇关于ActiveRecord::StatementInvalid: PG::Error: ERROR: must be owner of database的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆