Mysql 这个rails查询在sql查询中是怎样的?
我正在尝试直接在mysql服务器数据库上运行类似的操作:Mysql 这个rails查询在sql查询中是怎样的?,mysql,sql,ruby-on-rails,Mysql,Sql,Ruby On Rails,我正在尝试直接在mysql服务器数据库上运行类似的操作: SupportRequest.all.map{ |support_request| SupportRequestFeedback.create(support_request_id: support_request.id) if support_request.support_request_feedback == nil} 我知道它生成的查询,但不知道如何在1查询命令(带循环)中实现?您可以在rails控制台中输入这一行以显示查询:
SupportRequest.all.map{ |support_request| SupportRequestFeedback.create(support_request_id: support_request.id) if support_request.support_request_feedback == nil}
我知道它生成的查询,但不知道如何在1查询命令(带循环)中实现?您可以在rails控制台中输入这一行以显示查询:
ActiveRecord::Base.logger = Logger.new(STDOUT)
然后输入您的代码,查询就会显示出来。我可能错了,但我认为Rails没有提供立即执行此类操作的调用 您可以设置一个服务来为您执行此操作,但是:
support_requests_without_feedback = SupportRequest.includes(:support_request_feedback).where(support_request_feedback: {id: nil})
您可以使用active\u record-import
gem来实现海量数据库插入,也可以使用以下方法:(虽然效率不高):
你的问题能再清楚一点吗?您的意思是想优化查询还是想知道将生成的SQL?还是别的什么?@oreoluwa我想知道它生成的查询。查询显示但只显示一个接一个的执行情况。我希望查询能够在一个命令(在循环中)中完成所有操作。我希望能够直接在mysql控制台上运行sql查询命令,以获得相同的结果,而不是在rails上。rails命令是我在最初的帖子中发布的命令。
support_requests_without_feedback.map{|sr| sr.support_request_feedback.create }