2015-04-25 50 views
5

這很奇怪。在我的Rails 4 database.yml中我有以下幾點:如何在導軌控制檯中查找數據庫名稱

development: 
    adapter: postgresql 
    encoding: unicode 
    database: inspector_development 
    password: 
    pool: 5 

我複製從Heroku的生產數據庫並將其導入採用這種形式到我的本地PostgreSQL的

curl -o latest.dump `heroku pgbackups:url --account personal` 
pg_restore --verbose --clean --no-acl --no-owner -h localhost -U sam -d inspector_development latest.dump 

副本的結果顯示,88希望在OSX的inspector_development數據庫中的PGadmin用戶。但是,即使重新啓動rails應用程序,用戶表仍然只顯示一個用戶,而不是我在PGadmin中看到的88。

我已經搜索瞭如何確定哪些Rails認爲是數據庫名稱的屬性,以確定它在哪裏找到這些不存在的記錄?

仔細查看PGadmin中的用戶表,我看到零列。也許PGadmin錯了?我無法確定在DB Rails正在尋找這樣我可以解決此,THX,SAM

+2

從您的應用程序根目錄試試'rails db'查看它連接的數據庫。如果這是您的開發數據庫,​​它應該用'inspector_development =#'打開postgres控制檯。 –

+0

我通常會將其恢復到不同的數據庫名稱並指向database.yml。到目前爲止,這種方法還沒有問題。 – fylooi

回答

9

這工作對Rails 3個Rails 4

ActiveRecord::Base.connection.current_database 

但這僅適用於有司機實施該方法。例如,它不適用於SQLite,但可以使用mysql和postgres。