2013-03-21 29 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

相关问题