Ruby on rails 在Rails之外使用ActiveRecord::Database::Tasks时,我需要配置什么来避免开发数据库未配置错误?
我正在Ruby off Rails应用程序中的Ruby文件脚本(本质上是Thor任务)中调用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'
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')