数据库不可见

时间:2013-10-22 03:54:09

标签: ruby-on-rails ruby database postgresql activerecord

我正在尝试将数据库从SqLite3切换到Postgresql。我的站点连接到db / development中的数据库,但我看不到那个文件。这是我的database.yml:

  development:
  adapter: postgresql
  database: db/development
  pool: 5
  timeout: 5000
  username: user

当我用createdb -O rolename dbname创建新数据库时,我没有在任何地方看到该数据库。我下载了Navicat来浏览我的数据库,但我找不到它。

在我将app配置为使用postgresql并成功迁移到该数据库后,我创建了一个新的迁移。问题是我无法在任何地方看到它。如果我没有在任何地方看到数据,如何将数据插入数据库或在GUI中打开?

当我跑psql -U user db/development时,没有任何事情发生。

2 个答案:

答案 0 :(得分:1)

当您使用PostgreSQL时,database:应该是一个简单的数据库名称,而不是看起来像文件名的东西。你可能应该有更像这样的东西:

development:
  adapter: postgresql
  database: appname_development
  pool: 5
  timeout: 5000
  username: user

其中appname是您的应用程序的某种名称。

PostgreSQL不使用Rails目录树中的简单文件来保存数据库,PostgreSQL(以及MySQL和SQL Server和...)将在其自己的目录中的某个地方使用一组文件,你通常不应该担心它们的位置或结构。如果要转储数据库以进行备份,则需要使用pg_dump

答案 1 :(得分:1)

您也必须提供主机和端口。

adapter: postgresql  
host: < host >                            # HOST   
port: < port >                            # Port  
database: < database name >               # Database Name  
username: < user_name >                   # User Name  
password: '< password >'                  # Password  

postgres的默认端口为5432。