From 3df5253cc387c97f11e818e3a85fd10b0d17710c Mon Sep 17 00:00:00 2001 From: Chris Lawlor Date: Thu, 14 Mar 2013 11:40:09 -0400 Subject: [PATCH] Adds DB-sensitive tablename escape for backup task. Uses ActiveRecord::Base.connection.quote_table_name. Fixes issue 2437. --- lib/tasks/gitlab/backup.rake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/tasks/gitlab/backup.rake b/lib/tasks/gitlab/backup.rake index 214ce720..32acdcf5 100644 --- a/lib/tasks/gitlab/backup.rake +++ b/lib/tasks/gitlab/backup.rake @@ -178,8 +178,9 @@ namespace :gitlab do ActiveRecord::Base.connection.tables.each do |tbl| print " * #{tbl.yellow} ... " count = 1 + safe_tablename = ActiveRecord::Base.connection.quote_table_name(tbl) File.open(File.join(backup_path_db, tbl + ".yml"), "w+") do |file| - ActiveRecord::Base.connection.select_all("SELECT * FROM `#{tbl}`").each do |line| + ActiveRecord::Base.connection.select_all("SELECT * FROM #{safe_tablename}").each do |line| line.delete_if{|k,v| v.blank?} output = {tbl + '_' + count.to_s => line} file << output.to_yaml.gsub(/^---\n/,'') + "\n"