database_sanitizer 0.0.8 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/database_sanitizer/version.rb +1 -1
- data/lib/database_sanitizer.rb +3 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c86a1bb28be088c786495827344f019d7749cef6
|
4
|
+
data.tar.gz: 594f71e465e7022476cf239530b1be80d08acbe7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3728364fd6ce7e25241b665a127383743f7711856d9ee45f6393f25b54cb25b9b0e7e11942c16c9bc50290322006c2d09a2bfce6965cf627f18f090cf6aa9106
|
7
|
+
data.tar.gz: f77e740854639a90f8651d18d44608d2fc7b691abb6aa6f53a630a33138ecfacb1effa3e3a4624a151761f8e35f3fcf4543c6aa45843da72016fa20eda4f7a2e
|
data/lib/database_sanitizer.rb
CHANGED
@@ -62,13 +62,14 @@ module DatabaseSanitizer
|
|
62
62
|
q_table = dest.quote_table_name table
|
63
63
|
query = "SELECT * FROM #{q_table} LIMIT #{CHUNK_SIZE} OFFSET "
|
64
64
|
get_chunks(table).times_with_progress(table.rjust max_tbl_name_len) do |chunk_i|
|
65
|
-
|
65
|
+
offset = chunk_i * CHUNK_SIZE
|
66
|
+
result = src.exec_query query + offset.to_s
|
66
67
|
cols = result.columns.map { |col| dest.quote_column_name col }.join ','
|
67
68
|
dest.transaction do
|
68
69
|
result.rows.with_progress('batch').each_with_index do |src_row, row_i|
|
69
70
|
values = result.columns.each_with_index.map do |col, col_i|
|
70
71
|
transformer = transformers[table.to_sym][col.to_sym]
|
71
|
-
dest.quote transformer ? transformer.(row_i, src_row[col_i]) : src_row[col_i]
|
72
|
+
dest.quote transformer ? transformer.(offset + row_i, src_row[col_i]) : src_row[col_i]
|
72
73
|
end
|
73
74
|
dest.insert_sql "INSERT INTO #{q_table} (#{cols}) VALUES (#{values.join ','})"
|
74
75
|
end
|