ActiveRecord::StatementInvalid: PG::Error: ERROR: must be owner of database [英] 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屋!