2013-10-22 46 views
0

我想從SqLite3切換到Postgresql的數據庫。我的網站連接到db/development數據庫,但我無法在那裏看到該文件。這是我的database.yml:數據庫不可見

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

當我與createdb -O rolename dbname創建新的數據庫,我沒有看到任何地方的數據庫。我下載了Navicat來瀏覽我的數據庫,但是我找不到它。

我在配置應用程序使用postgresql併成功遷移到該數據庫後創建了一個新的遷移。問題是我無法在任何地方看到它。如果我沒有在任何地方看到數據,我該如何將數據插入數據庫或在GUI中打開?

當我運行psql -U user db/development什麼也沒有發生。

回答

1

當您使用PostgreSQL時,database:應該是一個簡單的數據庫名稱,而不是看起來像文件名的東西。你或許應該有更多的東西是這樣的:

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

其中appname是您的應用程序有些名氣的。

PostgreSQL不會在你的Rails目錄樹中使用一個簡單的文件來保存數據庫,PostgreSQL(以及MySQL和SQL Server和...)會在它自己的目錄中的某處使用一組文件,並且你通常不應該不用擔心他們在哪裏,或者他們的結構是什麼。如果您想轉儲數據庫用於備份目的,那麼您需要使用pg_dump

+0

謝謝。我只想問你如何檢查控制檯中的數據庫類型?哪個命令可以顯示我的應用程序使用的數據庫類型? – Cristiano

+0

你想運行'rails console'並找出應用程序是否連接到SQLite,PostgreSQL,...?爲什麼不看'database.yml'? –

1

您必須提供主機和端口。的Postgres

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

默認端口將是5432

+0

謝謝你的建議。我對一件事感興趣。我如何檢查控制檯內數據庫的類型?哪個命令可以顯示我的應用程序使用的數據庫類型? TNX – Cristiano