Necesito analizar un archivo para obtener sentencias de SQL individuales y ejecutarlas desde el controlador de rieles.Separación de cadena sin eliminar el delimitador
tengo el siguiente código:
@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
La división elimina el ";" desde el final de los SQL. ¿Hay alguna manera de no eliminar el ";" y aún se divide usando ";".
La sintaxis es incorrecta para' lines (separator ='; ') '- eso funcionará pero está mal escrito. Debería ser 'lines (';')' en su lugar. Pero, en su lugar, use 'File.readlines (@sql_file, ';')' porque es más corto y logra lo mismo. –