2014-12-19 37 views
0

因此,我似乎成功安装了用于heroku部署的生产postgres,但本地rails似乎未找到/或未创建数据库。

当我去到本地主机:3000我得到的错误:

ActiveRecord::NoDatabaseError 
FATAL: database "dimension_development" does not exist Run `$ bin/rake db:create db:migrate` to create your database 

当我运行$bin/rake db:create我得到:

~ already exists 

然后,运行分贝:迁移和重新启动Rails服务器,重装该页面,并获得相同的错误。

所以,我想,而不是运行$bin/rake db:create:all并获得:

~ already exists 
dimension_test already exists 
dimension_production already exists 

然后又做了db:migrate,但什么都没有改变。

如果它们已经存在,为什么不找到它们?我注意到在config/db文件夹中仍有旧的development.sqlite3文件,但没有postgres文件。

任何想法可能会导致此错误?

database.yml是:

development: 
    adapter: postgresql 
    database: dimension_development 
    pool: 5 
    timeout: 5000 
test: 
    adapter: postgresql 
    database: dimension_test 
    pool: 5 
    timeout: 5000 

production: 
    adapter: postgresql 
    database: dimension_production 
    pool: 5 
    timeout: 5000 

谢谢!这让我很难过,并且我无法在处理这个陷阱的stackoverflow上找到任何东西。

+1

在postgresql的情况下,你不会找到任何像'development.sqlite3'这样的文件。这只是在sqlite的情况下。 您没有在'database.yml'文件中提供数据库凭据可能导致此错误。 尝试通过用户名和密码。 – 2014-12-19 06:04:45

+0

就是这样!非常感谢Dipak,让我的生活变得更加轻松:D – Laser 2014-12-19 07:08:04

回答

2

在postgresql的情况下,您不会找到任何文件,如development.sqlite3。这只是在sqlite的情况下。

您没有在您的database.yml文件中提供数据库凭据可能导致此错误。尝试通过用户名和密码。

development: 
    adapter: postgresql 
    database: dimension_development 
    pool: 5 
    timeout: 5000 
    username: xxxx 
    password: xxxx 
相关问题