Ruby on rails Rake任务似乎忽略了database.yml配置
我正在使用MAC OS X以及通过自制安装的postgresql。我正在使用Rails 4.2.1和ruby 2.2.0进行开发。与postgresql server的连接很好,但出于某种原因,每个应用程序都会访问数据库“kstavrou”,这是我的系统用户名,作为开发数据库,并创建database.yml定义的其余数据库。如果你有一个以上的rails应用程序,那就很麻烦了 rake db:创建输出: Konstantinoss-MacBook-Pro:ecomm-intel kstavrou$ rake db:create kstavrou already exists ecomm_intel_test already exists Konstantinoss-MacBook-Pro:ecomm-intel kstavrou$ rake db:create kstavrou already exists Konstantinoss MacBook Pro:ecomm英特尔kstavrou$rake db:create kstavrou已经存在 ecomm_英特尔_测试已存在 奇怪的是,如果我清空database.yml,仍然可以很好地连接到postgresql,并尝试再次创建数据库“kstavrou”,在那里执行所有迁移,而不尝试创建测试数据库。 rake db:创建输出: Konstantinoss-MacBook-Pro:ecomm-intel kstavrou$ rake db:create kstavrou already exists ecomm_intel_test already exists Konstantinoss-MacBook-Pro:ecomm-intel kstavrou$ rake db:create kstavrou already exists Konstantinoss MacBook Pro:ecomm英特尔kstavrou$rake db:create kstavrou已经存在 database.ymlRuby on rails Rake任务似乎忽略了database.yml配置,ruby-on-rails,postgresql,ruby-on-rails-4,rails-postgresql,Ruby On Rails,Postgresql,Ruby On Rails 4,Rails Postgresql,我正在使用MAC OS X以及通过自制安装的postgresql。我正在使用Rails 4.2.1和ruby 2.2.0进行开发。与postgresql server的连接很好,但出于某种原因,每个应用程序都会访问数据库“kstavrou”,这是我的系统用户名,作为开发数据库,并创建database.yml定义的其余数据库。如果你有一个以上的rails应用程序,那就很麻烦了 rake db:创建输出: Konstantinoss-MacBook-Pro:ecomm-intel kstavrou$
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
default:&default
适配器:postgresql
主机:本地主机
编码:utf8
用户名:pguser
密码:123456
游泳池:5
制作:
问题是ENV['DATABASE_URL']是(通过一些安装脚本)设置的,所以它覆盖了DATABASE.yml配置,正如所指出的,所以我只是删除了它
`export DATABASE_URL=postgres:///$(whoami)`
`导出数据库\u URL=postgres://$(whoami)`
首先,我会再次检查以确保您的YML格式正确。您可以粘贴它并确认它已按预期进行解析。否则,是否定义了ENV['DATABASE\u URL']
?如果是这样,它将覆盖您的数据库.yml
配置。有关这方面的更多信息,请查看(第3.13节)。您说得对!这是在我的bash_配置文件中(我猜是从一些安装脚本中):export DATABASE_URL=postgres://$(whoami)。我从没想过数据库url会影响配置!很高兴我能帮忙!