Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.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 在Rails之外使用ActiveRecord::Database::Tasks时,我需要配置什么来避免开发数据库未配置错误?_Ruby On Rails_Ruby_Activerecord - Fatal编程技术网

Ruby on rails 在Rails之外使用ActiveRecord::Database::Tasks时,我需要配置什么来避免开发数据库未配置错误?

Ruby on rails 在Rails之外使用ActiveRecord::Database::Tasks时,我需要配置什么来避免开发数据库未配置错误?,ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,我正在Ruby off Rails应用程序中的Ruby文件脚本(本质上是Thor任务)中调用ActiveRecord::Tasks::DatabaseTasks.load\u schema\u current(:sql,file),我得到以下错误: /gems/activerecord-4.2.5/lib/active_record/connection_adapters/connection_specification.rb:248:in `resolve_symbol_connection'

我正在Ruby off Rails应用程序中的Ruby文件脚本(本质上是Thor任务)中调用
ActiveRecord::Tasks::DatabaseTasks.load\u schema\u current(:sql,file)
,我得到以下错误:

/gems/activerecord-4.2.5/lib/active_record/connection_adapters/connection_specification.rb:248:in `resolve_symbol_connection': 'development' database is not configured. Available: [] (ActiveRecord::AdapterNotSpecified)

ActiveRecord::Tasks::DatabaseTasks是否为我提供了在rails之外设置默认数据库配置所需的功能(我假设我需要提供与rails中的database.yml类似的信息)?如果是,我需要调用哪些函数?我正在查看,但对我来说有点不清楚。

在加载模式之前,需要加载数据库配置(如database.yml):


我能够在一个非Rails项目中通过以下方式实现此功能

db_config = YAML.load_file('path/to/database.yml')
ActiveRecord::Tasks::DatabaseTasks.load_schema_for(
  db_config, :ruby, 'path/to/schema.rb')

尽管我检查了YAML文件是否正在加载,但仍然会出现此错误。如何指定RAILS_ENV a la??
db_config = YAML.load_file('path/to/database.yml')
ActiveRecord::Tasks::DatabaseTasks.load_schema_for(
  db_config, :ruby, 'path/to/schema.rb')