class KPM::Database
def generate_insert_statement(tables)
def generate_insert_statement(tables) statements = [] @@logger.info "\e[32mGenerating statements\e[0m" tables.each_key do |table_name| table = tables[table_name] if !table[:rows].nil? && table[:rows].size > 0 columns_names = table[:col_names].join(",").gsub(/'/,'') rows = [] table[:rows].each do |row| rows << row.map{|value| value.is_a?(Symbol) ? value.to_s : "'#{value.to_s.gsub(/['"]/, "'" => "\\'", '"' => '\\"')}'" }.join(",") end value_data = rows.map{|row| "(#{row})" }.join(",") statements << {:query => get_insert_statement(table_name,columns_names,value_data, rows.size), :qty_to_insert => rows.size, :table_name => table_name, :table_data => table} end end statements end