2013-03-21 68 views
3

我正在將我的SQL遷移到Postgresql,因爲我想在與我的生產環境相同的環境中進行開發。用database.yml中的多個用戶在rails中設置postgresql開發?

我安裝了Postgres,並能夠設置我的數據庫yml文件,使rake db:create:all沒有問題。

但是在我推送之前,我意識到postgresql數據庫的用戶名和密碼只能在我的電腦上使用。即我在我的電腦上創建了登錄角色。當我的朋友也在開發應用程序時,拉取代碼,他將不會在我的電腦上創建由我創建的用戶名和密碼。

他是否也應該創建相同的登錄角色?或者有沒有辦法讓用戶名/密碼留空,以便每個開發人員都可以訪問該應用程序?更重要的是,這種情況的最佳做法是什麼?

我在Windows上開發,他在Mac上。

我的database.yml:用戶名和密碼被遺漏了。

development: 
    adapter: postgresql 
    encoding: unicode 
    database: volatility_development 
    pool: 5 
    timeout: 5000 
    host: localhost 

test: 
    adapter: postgresql 
    encoding: unicode 
    database: volatility_test 
    pool: 5 
    timeout: 5000 
    host: localhost 

production: 
    adapter: postgresql 
    encoding: unicode 
    database: volatility_production 
    pool: 5 
    timeout: 5000 

回答

2

一種可能性是使用ERB和環境變量的組合,例如:

development: 
    username: <%= ENV['USERNAME'] %> 
    password: <%= ENV['PASSWORD'] %> 
    adapter: postgresql 
    encoding: unicode 
    database: volatility_development 
    pool: 5 
    timeout: 5000 
    host: localhost 

那麼你可以做以下任一操作:

  1. 啓動服務器一樣所以:USERNAME=bob PASSWORD=secret rails s
  2. 將以下內容添加到您的.bashrc

    export USERNAME=bob 
    export PASSWORD=secret 
    
+1

您還可以使用** [dotenv(https://github.com/bkeepers/dotenv)**,並在'.env'文件存儲環境變量在項目目錄。 – Spone 2014-07-16 14:40:23

相關問題