3

我正在将我的 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
4

1 回答 1

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
    
于 2013-03-21T02:57:27.117 回答