Ruby on rails 3.2 无法将现有Rails 3.2.9应用程序指向使用postgres.app创建的数据库

Ruby on rails 3.2 无法将现有Rails 3.2.9应用程序指向使用postgres.app创建的数据库,ruby-on-rails-3.2,postgresql-9.2,postgres.app,Ruby On Rails 3.2,Postgresql 9.2,Postgres.app,我目前有一个Rails 3.2.9应用程序,它使用PostgreSQL数据库,这些数据库是在我将Mac Mini服务器升级到Mountain Lion时使用PgAdmin重新创建的。数据库创建为9.2.1版,我不知道。我想我使用的PgAdmin版本就是用这个版本号创建的。我只有升级到Mountain Lion时附带的Postgres版本9.1.4。我提交了另一个关于如何使psql的版本与数据库文件的版本匹配的问题,因为这会导致在实现queue_classic以运行后台作业时出现问题。目前我还没有

我目前有一个Rails 3.2.9应用程序,它使用PostgreSQL数据库,这些数据库是在我将Mac Mini服务器升级到Mountain Lion时使用PgAdmin重新创建的。数据库创建为9.2.1版,我不知道。我想我使用的PgAdmin版本就是用这个版本号创建的。我只有升级到Mountain Lion时附带的Postgres版本9.1.4。我提交了另一个关于如何使psql的版本与数据库文件的版本匹配的问题,因为这会导致在实现queue_classic以运行后台作业时出现问题。目前我还没有收到任何答复。我继续查看并了解了postgres.app。当前版本正在运行PostgreSQL 9.2.2

我已将当前数据库中的数据复制到CSV文件中。我还在postgres.app中使用了psql终端,并创建了我想在Rails应用程序中使用的新数据库。我决定在config/database.yml中更改开发和测试数据库的定义,以确保在彻底测试之前不会弄乱生产数据库。为了确保我知道不同的名称,我创建了具有不同名称的数据库,以确保我能够确保我的Rails应用程序指向使用postgres.app创建的数据库

如postgres.app网站所述,我在bashrc中更改了路径。当我执行哪个psql时,它正确地指向postgres.app版本9.2.2。根据postgres.app网站的要求,我将用于开发的config/database/yml更改为以下内容

development:
  adapter: postgresql
  encoding: unicode
  database: newname_devl
当我像往常一样使用localhost:3000运行Rails应用程序时,该应用程序指向原始数据库。由于我没有执行rakedb:migrate来重建新数据库中的所有表,所以我预期会出现错误

不知何故,我需要能够使我的PostgreSQL数据库版本与PostgreSQL的版本相匹配,但我不知道从这里可以走到哪里。我会继续找

任何帮助都将不胜感激

更新2012年12月31日上午5:50美国标准时间GMT-6

我试过下面的命令。这是我以前试过的。我得到了命令下列出的错误(用户名屏蔽)

psql -h localhost
psql: FATAL:  role "username" does not exist
psql -h localhost -U _postgres
psql: FATAL:  database "_postgres" does not exist
我创建了角色“username”,并再次尝试该命令。我犯了以下错误

psql: FATAL:  database "username" does not exist
我决定试试下面的命令。我在命令下面列出了错误

psql -h localhost
psql: FATAL:  role "username" does not exist
psql -h localhost -U _postgres
psql: FATAL:  database "_postgres" does not exist

数据库_postgres不存在;数据库postgres有。

如果您已将database.yml更新为正确的名称,我不确定它将如何访问错误的数据库。当您将database.yml中的数据库名称更改为“foobar123”或在旧的或新的Postgres中不存在您确定的名称时会发生什么情况?

我在Postgres.app中创建的名称与当前数据库不同。在检查之前,我确认已保存database.yml。我在尝试调出新数据库时预期会出错,因为不存在表。psql的版本来自postgres.app。我的应用程序忽略了我所做的事情。我想我会重建安装在Mac Mini服务器上的psql中的数据库,使它们与psql的版本相同。我正在学习psql终端。如何以超级用户身份登录psql以创建数据库?我只使用它来维护表。“psql-h localhost”应该以超级用户身份登录。或者“psql-h localhost yourdbname”来访问数据库。我只是用我的结果更新了描述。psql的安装方式似乎使您只能维护现有数据库,而不能创建它们。我曾希望能够尝试为后台作业实现gem queue_classic,它利用了PostgeSQL,但由于版本冲突,我无法使用它。我决定进行更多的搜索。我刚刚了解了EXPORT命令,可以在需要的地方获取数据库。我会再次尝试使用宝石。非常感谢你的帮助。如果它不工作,我会尝试其他的背景工作。