Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 错误消息:未知数据库“someweb_产品”(Mysql2::Error)_Ruby On Rails_Apache_Passenger - Fatal编程技术网

Ruby on rails 错误消息:未知数据库“someweb_产品”(Mysql2::Error)

Ruby on rails 错误消息:未知数据库“someweb_产品”(Mysql2::Error),ruby-on-rails,apache,passenger,Ruby On Rails,Apache,Passenger,我正在尝试使用Phusion Passenger在Apache上运行Ruby on Rails的web应用程序。我已经配置了httpd.conf文件 我还有另一个应用程序,它使用“rails服务器”命令运行,它连接到开发数据库。然而,我不明白为什么与apacheit一起运行的应用程序试图连接到一个我还没有创建的生产数据库,而不是应该的开发数据库 我必须配置什么才能使Ruby on Rails应用程序作为开发运行?Apache with Phusion提供了一个生产级web服务器环境,Rails服

我正在尝试使用Phusion Passenger在Apache上运行Ruby on Rails的web应用程序。我已经配置了httpd.conf文件

我还有另一个应用程序,它使用“rails服务器”命令运行,它连接到开发数据库。然而,我不明白为什么与apacheit一起运行的应用程序试图连接到一个我还没有创建的生产数据库,而不是应该的开发数据库


我必须配置什么才能使Ruby on Rails应用程序作为开发运行?

Apache with Phusion提供了一个生产级web服务器环境,Rails服务器WEBrick是一个简单的web服务器,允许您在本地进行测试。通常在给定的机器上使用一个或另一个。但并非总是:-

但是为了回答您的问题,Rails使用哪个数据库是由Rails_ENV变量决定的,该变量在默认情况下是生产、开发或测试变量之一

创建新的rails应用程序时,会在app/config/database.yml文件中创建一个默认的数据库配置-有单独的部分提供连接到数据库所需的参数。其他特定于环境的配置可以在environment.rb或app/config/environments/.rb中指定

在乘客配置中,您可以设置RAILS_ENV变量,如下所述

我刚刚意识到,似乎Passenger正在寻找产品,希望db名称是某个Web_产品-您可能需要在生产环境中运行bundle exec rake db:migrate来创建和初始化数据库。在这种情况下,您可能还需要传递环境参数


对于本地配置rails服务器,服务器将查找名为rails_ENV的shell环境变量,您还可以在命令行上传递特定环境,例如rails server-environment=development。我认为如果两者都没有指定,rails服务器默认为development。

问题在于我没有在Apache conf文件中包含以下行:

RailsEnv development
RackEnv development