real_data_tests 0.3.13 → 0.3.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/real_data_tests/rspec_helper.rb +6 -13
- data/lib/real_data_tests/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e7e142b478391e00c15f51378e09dd2b7e1429f8c7d1bdd2bb5d059ae8a968fb
|
4
|
+
data.tar.gz: a4464de621782aebfa90bac25e90458e4feca5c1007898d3537d44866a937c7b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '078fcfb22739b26714d756e10afc54ce10a15b947706f1f8eccee31f65384695b770ea546e69a889c033378fff79d314b1b66c4d86b29b3eab2dbb62e6b93231'
|
7
|
+
data.tar.gz: c02a03e895d13a78e75adcf5c8ff5c6d9ea920d91dbaf463dad5e344bbe890e5877cb42385a65aa1f2df5c57b94cb595c96b78279cb9f1f66616e44e9a50a927
|
@@ -29,26 +29,19 @@ module RealDataTests
|
|
29
29
|
connection.execute('SET session_replication_role = replica;')
|
30
30
|
|
31
31
|
begin
|
32
|
-
# Read the SQL file content
|
33
32
|
sql_content = File.read(dump_path)
|
34
|
-
|
35
|
-
# Split the file into individual statements
|
36
33
|
statements = split_sql_statements(sql_content)
|
37
34
|
|
38
|
-
|
39
|
-
statements.each do |statement|
|
40
|
-
next if statement.strip.empty?
|
35
|
+
statements.each_with_index do |statement, index|
|
41
36
|
begin
|
42
|
-
# Clean up any formatting issues that might cause syntax errors
|
43
37
|
cleaned_statement = clean_sql_statement(statement)
|
38
|
+
puts "Executing Statement ##{index + 1}: #{cleaned_statement}" # Debug log
|
44
39
|
connection.execute(cleaned_statement)
|
45
40
|
rescue ActiveRecord::StatementInvalid => e
|
46
|
-
|
47
|
-
raise Error, "Failed to execute SQL statement: #{e.message}\nStatement: #{cleaned_statement}"
|
41
|
+
raise Error, "Error executing statement ##{index + 1}: #{e.message}\nSQL: #{cleaned_statement}"
|
48
42
|
end
|
49
43
|
end
|
50
44
|
ensure
|
51
|
-
# Re-enable foreign key checks
|
52
45
|
connection.execute('SET session_replication_role = DEFAULT;')
|
53
46
|
end
|
54
47
|
end
|
@@ -95,7 +88,7 @@ module RealDataTests
|
|
95
88
|
# Add the last statement if it exists
|
96
89
|
statements << current_statement.strip unless current_statement.strip.empty?
|
97
90
|
|
98
|
-
#
|
91
|
+
# Normalize `ON CONFLICT` clauses
|
99
92
|
statements = statements.each_with_object([]) do |stmt, result|
|
100
93
|
if stmt.strip.upcase.start_with?('ON CONFLICT')
|
101
94
|
result[-1] = "#{result.last.strip} #{stmt.strip}"
|
@@ -104,10 +97,10 @@ module RealDataTests
|
|
104
97
|
end
|
105
98
|
end
|
106
99
|
|
107
|
-
#
|
100
|
+
# Ensure semicolons and spacing
|
108
101
|
statements.map! do |stmt|
|
109
102
|
stmt = stmt.gsub(/\)\s*ON CONFLICT/, ') ON CONFLICT') # Normalize spacing
|
110
|
-
stmt.strip.end_with?(';') ? stmt.strip : "#{stmt.strip};"
|
103
|
+
stmt.strip.end_with?(';') ? stmt.strip : "#{stmt.strip};"
|
111
104
|
end
|
112
105
|
|
113
106
|
statements
|