OSDN Git Service

Adds DB-sensitive tablename escape for backup task.
authorChris Lawlor <lawlor.chris@gmail.com>
Thu, 14 Mar 2013 15:40:09 +0000 (11:40 -0400)
committerChris Lawlor <lawlor.chris@gmail.com>
Thu, 14 Mar 2013 17:30:25 +0000 (13:30 -0400)
Uses ActiveRecord::Base.connection.quote_table_name.
Fixes issue 2437.

lib/tasks/gitlab/backup.rake

index 214ce72..32acdcf 100644 (file)
@@ -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"