Ruby on rails 火车站在哪里?
我在看这篇关于rake命令的文章,但不知道RAILS_ENV在哪里。那是在某个特定的文件中吗Ruby on rails 火车站在哪里?,ruby-on-rails,Ruby On Rails,我在看这篇关于rake命令的文章,但不知道RAILS_ENV在哪里。那是在某个特定的文件中吗 db:create Creates the database for the current RAILS_ENV environment. If RAILS_ENV is not specified it defaults to the development and test databases. 它是您可以通过在执行命令之前传递它来设置的环境变量 RAILS_ENV=production rake
db:create Creates the database for the current RAILS_ENV environment. If RAILS_ENV is not specified it defaults to the development and test databases.
它是您可以通过在执行命令之前传递它来设置的环境变量
RAILS_ENV=production rake db:migrate
您还可以通过在命令之前传递其他一些环境变量来设置它们
MAIL_USERNAME=user MAIL_PASSWORD=password rails server
或者您可以将它们导出到shell
export MAIL_USERNAME=user
export MAIL_PASSWORD=password
rails server
还有一个名为gem的工具,它可以帮助您轻松设置env变量,方法是将它们保存在一个
.env
文件中,该文件不会被推到git
或任何您使用的SVN上。据我所知,这个“RAILS\u env”看起来很像环境变量,可能是操作系统级别的(比如在*uix环境下,使用env检查其值)或者它特定于可能在配置文件(.property或else)中设置的运行时。RAILS\u ENV是RAILS环境,即开发、生产或登台
您可以使用RAILS\u ENV
为不同的环境运行命令,如:
RAILS_ENV=production rake db:migrate #runs migration in production env
RAILS_ENV=test rake db:migrate #runs migration in test env
默认情况下,环境是开发。
RAILS\u ENV
只是一个环境变量,在shell或操作系统本身中设置(或在调用流程时设置)
环境变量是一组动态命名值,可以
影响在计算机上运行进程的行为方式。它们是流程运行环境的一部分。例如,一个 正在运行的进程可以查询
TEMP
环境变量的值
查找存储临时文件的合适位置,或主页
或USERPROFILE
变量,以查找
正在运行进程的用户。ENV[“RAILS\u ENV”]
只包含一个字符串,如“production”、“development”或“test”。这将告诉/config/environments
中的Rails要加载,以及database.yml
中的哪个散列键要用于数据库
例如,如果ENV[“RAILS\u ENV”]=“foo”
RAILS将:
- 加载
/config/environments/foo.rb
- 在database.yml中查找键
foo
将为真Rails.env.foo?
RAILS_ENV=test rails c
但是您会想知道这个env变量如何在Rails中使用,这里是:
这意味着Rails更愿意使用Rails_ENV来决定当前的环境。所以Rails_ENV被用作一个容器,供您构建一个数据库来进行测试?那么您可以使用多个RAILS_ENV来尝试在其中包含不同的表?或者您会继续在您的开发环境中删除和重新设置表吗?这和您的想法不完全一样。。但是是的,您可以根据需要拥有不同的环境,如
test
、demo
、development
和production
您也可以创建您想要的任何环境,只需确保您拥有config/environments/#{environment\u name}.env
,这样每个env中的数据库都会不同?是的,您需要在database.yml
中指定数据库名称environment-wise,如何准确地设置ENV-vars取决于所使用的shell和操作系统。不过,大多数操作系统(甚至windows)都有环境变量。我们正在生产中。我们的应用程序运行生产。但如果我们回显RAILS_ENV,它是空的。这意味着它应该默认为开发。但我们的应用程序真的运行生产。怎么会?