在尝试解决我遇到的NoMethodError时,我在某处读取运行rake db:reset
可能有助于解决问题的方法。我是Rails的新手,并且在不知道这会做什么的情况下犯了这个错误。当我运行它,它成功删除我的开发数据库(PosgreSQL),但随后打了一个致命的错误有以下消息:rake db:通过删除数据库中途重置失败
Dropped database 'development'
FATAL: Peer authentication failed for user "postgres"
Couldn't drop database 'test'
rake aborted!
PG::ConnectionBad: FATAL: Peer authentication failed for user "postgres"
Tasks: TOP => db:drop:_unsafe
我试图手动跌落测试数据库并重新运行rake db:reset
,但是发生了同样的错误。所以我丢失了我在开发数据库中的数据,并且只能停留在空的生产数据库中。
我知道这可以通过编辑pg_hba.conf
文件来解决,但我的应用程序正在我学校的高性能群集(Linux VM)上运行,并且我没有该文件的写入权限。我不明白的是为什么它能够放弃我的开发数据库,但没有其他的。
我还有我的seeds.rb
和schema.rb
文件,那么有可能重建我的数据库而不会进一步搞乱事情吗?或者有什么方法可以解决直接影响复位命令的问题吗?
你可能想看到这个https://stackoverflow.com/questions/10301794/difference-between-rake-dbmigrate-dbreset-and-dbschemaload?rq=1 – fangxing