加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在rake任务中的ActiveRecord :: ConnectionNot

发布时间:2020-12-17 04:39:01 所属栏目:百科 来源:网络整理
导读:我正在创建一个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.execut
我正在创建一个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任务连接到DB以执行原始sql的任何建议?谢谢

解决方法

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

将您的佣金任务更改为:

task :remove_rubyrep => :environment do

完成后,您将不再需要“establish_connection”行

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读