为什么db:创建开发DB时,所有其他指示都在生产中

时间:2014-04-20 03:41:19

标签: ruby-on-rails-4 rake passenger

我有一个奇怪的问题。

我有以下database.yml

production:
  adapter: postgresql
  encoding: unicode
  database: MyDB_production
  # For details on connection pooling, see rails configuration guide
  # http://guides.rubyonrails.org/configuring.html#database-pooling
  pool: 5

test:
  adapter: postgresql
  host: localhost
  username: 
  password: 
  database: test        # or whatever the name is
  encoding: UTF8

development:
  adapter: postgresql
  encoding: unicode
  database: MyDB_development
  pool: 5
  username: dazzaroonie
  password:

我的environment.rb有:

# Load the Rails application.
require File.expand_path('../application', __FILE__)

ENV['RAILS_ENV'] ||= 'production'

# Initialize the Rails application.
Chatrpix::Application.initialize!

我的乘客VHost是:

<VirtualHost *:80>
 ...
    <Directory /Users/dazzaroonie/Sites/newapp/public>
        AllowOverride all
        Options -MultiViews
        RailsEnv production
    </Directory>

</VirtualHost>

所以我应该处于生产模式吗?

我运行rails console并得到:

Loading production environment (Rails 4.1.0)
2.1.0 :001 > 

所以,它似乎认为它在生产中,但是,当我运行rake db时:创建它创建开发数据库而不是生产。

我一直在看这几个小时,并且不知道为什么......

我没有使用ENV等设置.bashrc ...

那么,Rails的其他部分如何知道我正在使用生产模式,而不是耙?

提前感谢任何指导。

1 个答案:

答案 0 :(得分:0)

我认为这是因为您在加载application.rb后设置了RAILS_ENV。这可能会导致代码混淆。尝试在加载application.rb。

之前设置RAILS_ENV