【问题标题】:ActiveRecord::ConnectionNotEstablished within a rake taskActiveRecord::ConnectionNotEstablished 在 rake 任务中
【发布时间】:2012-12-19 07:01:32
【问题描述】:

我正在创建一个 rake 任务以删除一些表和触发器。

我的耙子任务:

task :remove_rubyrep do
  sql = <<-SQL
    DROP TABLE rr_logged_events, rr_running_flags, rr_pending_changes;
  SQL
  ActiveRecord::Base.establish_connection
  ActiveRecord::Base.connection.execute(sql)
end

我试过这样运行:

rake remove_rubyrep
RAILS_ENV=development rake remove_rubyrep

问题是 rake 任务错误:

rake aborted!
ActiveRecord::ConnectionNotEstablished

关于如何允许 rake 任务连接到数据库以执行原始 sql 的任何建议?谢谢

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 postgresql postgresql-9.1


    【解决方案1】:

    您没有在 rake 任务中加载 rails 应用程序,因此 ActiveRecord 永远不会创建数据库连接。

    将您的 rake 任务更改为:

    task :remove_rubyrep => :environment do
    

    完成后,您将不再需要“建立连接”行

    【讨论】:

      猜你喜欢
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-27
      • 2011-12-01
      • 2013-08-26
      • 1970-01-01
      相关资源
      最近更新 更多