我需要解析文件以获取单独的SQL语句并从rails控制器运行它们。拆分字符串,不删除分隔符
我有以下代码:
@sql_file = "#{RAILS_ROOT}/lib/evidence_interface_import.sql"
@sql_stmts_array = File.read(@sql_file).split(";")
@sql_stmts_array.each_with_index do |sql_stmt,s_index|
ActiveRecord::Base.connection.execute(sql_stmt)
end
分割删除 “;”从SQL的末尾开始。有没有办法删除“;”仍然使用“;”分割。
'lines(separator =';')''的语法是错误的 - 这样可以工作,但写得不好。它应该是'lines(';')'而不是。但是,应该使用'File.readlines(@sql_file,';')',因为它更短,并且完成同样的事情。 –