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)`
我正在使用 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)`