Rake 任务似乎忽略了 database.yml 配置

Rake tasks seem to ignore database.yml configuration

我正在使用 MAC OS X 以及通过 Homebrew 安装的 postgresql。我正在使用 Rails 4.2.1 和 ruby 2.2.0 进行开发。与 postgresql 服务器的连接很好,但由于某种原因,每个应用程序都访问数据库 "kstavrou",这是我的系统用户名,作为开发数据库,​​并创建由 database.yml 定义的其余部分。如果您有超过 1 个 rails 应用程序,那就麻烦了。

rake db:create 输出:

Konstantinoss-MacBook-Pro:ecomm-intel kstavrou$ rake db:create
kstavrou already exists
ecomm_intel_test already exists

奇怪的是,如果我清空 database.yml 仍然可以很好地连接到 postgresql 并尝试再次创建数据库 "kstavrou" 在那里执行所有迁移,而不是尝试创建测试数据库。 耙子 db:create 输出:

Konstantinoss-MacBook-Pro:ecomm-intel kstavrou$ rake db:create
kstavrou already exists

database.yml

default: &default adapter: postgresql host: localhost encoding: utf8 username: pguser password: 123456 pool: 5 production: <<: *default database: ecomm_intel_prod development: <<: *default database: ecomm_intel_dev test: <<: *default database: ecomm_intel_test

嗯,问题是 ENV['DATABASE_URL'] 已设置(通过某些安装脚本),因此它覆盖了 database.yml 配置,如 steve klein 所述,所以我刚刚删除它。

`export DATABASE_URL=postgres:///$(whoami)`