我在Ruby off Rails应用程序中的Ruby文件脚本中调用ActiveRecord::Tasks::DatabaseTasks.load_schema_current(:sql, file)
(本质上是一个Thor任务),我收到以下错误:
/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中的信息)?如果是这样,我需要调用哪些功能?我在看http://api.rubyonrails.org/classes/ActiveRecord/Tasks/DatabaseTasks.html,但对我来说有点不清楚。
答案 0 :(得分:0)
在加载架构之前,需要加载数据库配置(如database.yml):
DatabaseTasks.database_configuration = YAML.load_file('my_database_config.yml')
答案 1 :(得分:0)
我能够在非Rails项目中使用以下内容...
db_config = YAML.load_file('path/to/database.yml')
ActiveRecord::Tasks::DatabaseTasks.load_schema_for(
db_config, :ruby, 'path/to/schema.rb')