在database.yml中设置多个用户的rails中的postgresql开发?

时间:2013-03-21 02:24:13

标签: ruby-on-rails

我正在将我的SQL迁移到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

1 个答案:

答案 0 :(得分: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