2014-09-01 42 views
1

我是新来的rails,当我试图运行时发生了一些错误bundle exec rake test:prepare, 同样的问题已经被问到Click here,我已经包含了psql输出。任何人都可以帮忙谢谢。ActiveRecord :: StatementInvalid:PG :: Error:ERROR:必须是数据库的所有者

我得到了流动错误:

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:

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

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

你可以发布database.yml – RAJ 2014-09-01 17:59:02

+0

嗨刚发布,谢谢你c – Snailwalker 2014-09-01 18:01:28

+0

哈哈我只是想通了,有一个用户名。 “taouan” – Snailwalker 2014-09-01 18:04:29

回答

1

感谢RAJ提醒我检查database.yml文件,我为用户名设置一个值,我忘了它,默认情况下它应该是一个零,所以我删除用户名:“taouan”然后r它的工作原理是bundle exec rake test:prepare。替代方法是ALTER DATABASE testp00 OWNER TO "taouan"

+0

在用户名后面什么都不用:解决我的问题,起初我没有用户名和密码:并且导致错误。 – 2016-09-16 05:00:49

相关问题