mongify 1.4.0 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +17 -3
- data/Gemfile.lock +46 -45
- data/README.rdoc +4 -1
- data/docker-compose.dev.yml +1 -1
- data/features/support/env.rb +1 -1
- data/lib/mongify/cli/command/worker.rb +1 -1
- data/lib/mongify/configuration.rb +1 -1
- data/lib/mongify/database/no_sql_connection.rb +6 -2
- data/lib/mongify/version.rb +1 -1
- data/mongify.gemspec +6 -4
- data/spec/support/config_reader.rb +1 -1
- data/spec/support/database_generator.rb +1 -1
- metadata +44 -13
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 07e8b3eee218999bea9a49f4f4f6235b1755dcd44671ed2af1d6c6a65a4e44a6
|
|
4
|
+
data.tar.gz: ada90480195c6eccd8bccb9f88fdd37672fb35314f12fc45f165512a7ebc08f9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d059e8cafc3e1947c76b1f1b571c0e81f812a8e3241e38fdfe59272496e0edd697e5d348be959031fa65c6adf0bb3d2d6895ecf9d63666a77409cde9ac629330
|
|
7
|
+
data.tar.gz: 3c5a31a377f438a43c62f05d345633a5c6eee857ad687b860e1dcb99fb23db705b1f48b849ff272b7cd7ccb98b950fc390385c83adea45402c78320f774ce0f1
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Mongify ChangeLog
|
|
2
2
|
|
|
3
|
+
## 1.4.2 / 18 Aug 2026
|
|
4
|
+
* **BREAKING**: Ruby 3.1+ now required (was 3.0+)
|
|
5
|
+
* Fixed dependency security vulnerabilities:
|
|
6
|
+
- Require ActiveRecord and ActiveSupport >= 7.2.3.2, < 8.0
|
|
7
|
+
- Require concurrent-ruby >= 1.3.7, < 2.0
|
|
8
|
+
|
|
9
|
+
## 1.4.1 / 13 Jan 2026
|
|
10
|
+
* Added MongoDB 8.0 support and compatibility testing
|
|
11
|
+
* Fixed Ruby 3.4 compatibility:
|
|
12
|
+
- Added `abbrev` gem dependency (removed from Ruby 3.4 stdlib)
|
|
13
|
+
- Replaced deprecated `File.exists?` with `File.exist?`
|
|
14
|
+
- Updated cucumber dependency to >= 9.0
|
|
15
|
+
* Fixed batch insert compatibility with mongo driver 2.22+ (`insert_many` for arrays)
|
|
16
|
+
* Updated docker-compose.dev.yml to use MongoDB 8.0
|
|
17
|
+
* Documented tested MongoDB versions (4.4, 8.0) in README
|
|
18
|
+
|
|
3
19
|
## 1.4.0 / 12 Jan 2026
|
|
4
20
|
* **BREAKING**: Ruby 3.0+ now required (was 2.5+)
|
|
5
21
|
* Upgraded to ActiveRecord/ActiveSupport 7.x (7.2.3)
|
|
@@ -14,8 +30,6 @@
|
|
|
14
30
|
* Fixed Ruby 3.x compatibility in DataRow#respond_to?
|
|
15
31
|
* Fixed Rails 7.0+ deprecation: Time#to_s(:db) -> Time#to_fs(:db)
|
|
16
32
|
* Removed explicit bson/bson_ext dependencies (now bundled with mongo gem)
|
|
17
|
-
|
|
18
|
-
## 1.3.3 / 12 Jan 2026
|
|
19
33
|
* Updated ActiveRecord/ActiveSupport compatibility to support versions 4.2 through 6.0
|
|
20
34
|
* Updated minimum Ruby version to 2.5+
|
|
21
35
|
* Fixed ActiveRecord type casting API changes (`type_cast_from_database` -> `deserialize`)
|
|
@@ -192,4 +206,4 @@
|
|
|
192
206
|
* Improved tests to cover most of the code
|
|
193
207
|
* Changed overall commands for Mongify
|
|
194
208
|
## 0.0.1 / 22 Mar 2010
|
|
195
|
-
* Initial Setup
|
|
209
|
+
* Initial Setup
|
data/Gemfile.lock
CHANGED
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
mongify (1.4.
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
mongify (1.4.2)
|
|
5
|
+
abbrev
|
|
6
|
+
activerecord (>= 7.2.3.2, < 8.0)
|
|
7
|
+
activesupport (>= 7.2.3.2, < 8.0)
|
|
8
|
+
concurrent-ruby (~> 1.3, >= 1.3.7)
|
|
7
9
|
highline (>= 1.7.8)
|
|
8
10
|
mongo (~> 2.19)
|
|
9
11
|
|
|
10
12
|
GEM
|
|
11
13
|
remote: https://rubygems.org/
|
|
12
14
|
specs:
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
abbrev (0.1.2)
|
|
16
|
+
activemodel (7.2.3.2)
|
|
17
|
+
activesupport (= 7.2.3.2)
|
|
18
|
+
activerecord (7.2.3.2)
|
|
19
|
+
activemodel (= 7.2.3.2)
|
|
20
|
+
activesupport (= 7.2.3.2)
|
|
18
21
|
timeout (>= 0.4.0)
|
|
19
|
-
activesupport (7.2.3)
|
|
22
|
+
activesupport (7.2.3.2)
|
|
20
23
|
base64
|
|
21
24
|
benchmark (>= 0.3)
|
|
22
25
|
bigdecimal
|
|
@@ -25,7 +28,7 @@ GEM
|
|
|
25
28
|
drb
|
|
26
29
|
i18n (>= 1.6, < 2)
|
|
27
30
|
logger (>= 1.4.2)
|
|
28
|
-
minitest (>= 5.1)
|
|
31
|
+
minitest (>= 5.1, < 6)
|
|
29
32
|
securerandom (>= 0.3)
|
|
30
33
|
tzinfo (~> 2.0, >= 2.0.5)
|
|
31
34
|
amazing_print (1.6.0)
|
|
@@ -36,34 +39,35 @@ GEM
|
|
|
36
39
|
builder (3.3.0)
|
|
37
40
|
byebug (11.1.3)
|
|
38
41
|
coderay (1.1.3)
|
|
39
|
-
concurrent-ruby (1.3.
|
|
42
|
+
concurrent-ruby (1.3.8)
|
|
40
43
|
connection_pool (2.5.5)
|
|
41
44
|
coolline (0.5.0)
|
|
42
45
|
unicode_utils (~> 1.4)
|
|
43
|
-
cucumber (
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
cucumber-
|
|
47
|
-
cucumber-
|
|
48
|
-
cucumber-
|
|
49
|
-
cucumber-html-formatter (
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
multi_test (~> 1.1
|
|
54
|
-
sys-uname (~> 1.
|
|
55
|
-
cucumber-ci-environment (
|
|
56
|
-
cucumber-core (
|
|
57
|
-
cucumber-gherkin (
|
|
58
|
-
cucumber-messages (
|
|
59
|
-
cucumber-tag-expressions (
|
|
60
|
-
cucumber-cucumber-expressions (
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
cucumber-
|
|
46
|
+
cucumber (10.2.0)
|
|
47
|
+
base64 (~> 0.2)
|
|
48
|
+
builder (~> 3.2)
|
|
49
|
+
cucumber-ci-environment (> 9, < 12)
|
|
50
|
+
cucumber-core (> 15, < 17)
|
|
51
|
+
cucumber-cucumber-expressions (> 17, < 20)
|
|
52
|
+
cucumber-html-formatter (> 21, < 23)
|
|
53
|
+
diff-lcs (~> 1.5)
|
|
54
|
+
logger (~> 1.6)
|
|
55
|
+
mini_mime (~> 1.1)
|
|
56
|
+
multi_test (~> 1.1)
|
|
57
|
+
sys-uname (~> 1.3)
|
|
58
|
+
cucumber-ci-environment (11.0.0)
|
|
59
|
+
cucumber-core (16.1.1)
|
|
60
|
+
cucumber-gherkin (> 36, < 40)
|
|
61
|
+
cucumber-messages (> 31, < 33)
|
|
62
|
+
cucumber-tag-expressions (> 6, < 9)
|
|
63
|
+
cucumber-cucumber-expressions (18.0.1)
|
|
64
|
+
bigdecimal
|
|
65
|
+
cucumber-gherkin (37.0.1)
|
|
66
|
+
cucumber-messages (>= 31, < 32)
|
|
67
|
+
cucumber-html-formatter (22.3.0)
|
|
68
|
+
cucumber-messages (> 23, < 33)
|
|
69
|
+
cucumber-messages (31.2.0)
|
|
70
|
+
cucumber-tag-expressions (8.1.0)
|
|
67
71
|
diff-lcs (1.6.2)
|
|
68
72
|
drb (2.2.3)
|
|
69
73
|
ffi (1.17.3-arm64-darwin)
|
|
@@ -76,12 +80,9 @@ GEM
|
|
|
76
80
|
pry-byebug (~> 3.9)
|
|
77
81
|
pry-coolline (~> 0.2)
|
|
78
82
|
logger (1.7.0)
|
|
79
|
-
|
|
83
|
+
memoist3 (1.0.0)
|
|
80
84
|
method_source (1.1.0)
|
|
81
|
-
|
|
82
|
-
logger
|
|
83
|
-
mime-types-data (~> 3.2025, >= 3.2025.0507)
|
|
84
|
-
mime-types-data (3.2025.0924)
|
|
85
|
+
mini_mime (1.1.5)
|
|
85
86
|
minitest (5.27.0)
|
|
86
87
|
mocha (3.0.1)
|
|
87
88
|
ruby2_keywords (>= 0.0.5)
|
|
@@ -119,22 +120,22 @@ GEM
|
|
|
119
120
|
rspec-support (3.13.6)
|
|
120
121
|
ruby2_keywords (0.0.5)
|
|
121
122
|
securerandom (0.4.1)
|
|
122
|
-
sqlite3 (
|
|
123
|
-
sys-uname (1.4.
|
|
123
|
+
sqlite3 (2.9.6-arm64-darwin)
|
|
124
|
+
sys-uname (1.4.1)
|
|
124
125
|
ffi (~> 1.1)
|
|
125
|
-
|
|
126
|
+
memoist3 (~> 1.0.0)
|
|
126
127
|
timeout (0.6.0)
|
|
127
128
|
tzinfo (2.0.6)
|
|
128
129
|
concurrent-ruby (~> 1.0)
|
|
129
130
|
unicode_utils (1.4.0)
|
|
130
131
|
watchr (0.7)
|
|
131
|
-
yard (0.9.
|
|
132
|
+
yard (0.9.45)
|
|
132
133
|
|
|
133
134
|
PLATFORMS
|
|
134
135
|
arm64-darwin-25
|
|
135
136
|
|
|
136
137
|
DEPENDENCIES
|
|
137
|
-
cucumber (>= 0
|
|
138
|
+
cucumber (>= 9.0)
|
|
138
139
|
jazz_fingers
|
|
139
140
|
mocha (>= 0.9.8)
|
|
140
141
|
mongify!
|
data/README.rdoc
CHANGED
|
@@ -10,7 +10,10 @@ A data translator from sql database to mongoDB.
|
|
|
10
10
|
Supports MySQL, PostgreSQL, SQLite, Oracle, SQLServer, and DB2 (Basically anything ActiveRecord has built-in).
|
|
11
11
|
However, I've only tested it with MySql and SQLite
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
=== Tested MongoDB Versions
|
|
14
|
+
|
|
15
|
+
* MongoDB 4.4
|
|
16
|
+
* MongoDB 8.0
|
|
14
17
|
|
|
15
18
|
Learn more about MongoDB at: http://www.mongodb.org
|
|
16
19
|
|
data/docker-compose.dev.yml
CHANGED
data/features/support/env.rb
CHANGED
|
@@ -55,7 +55,7 @@ module Mongify
|
|
|
55
55
|
raise ConfigurationFileNotFound, "Database Configuration file is missing or cannot be found" if command_options[:required] && command_options[:required].include?(:configuration_file) && @config.nil?
|
|
56
56
|
if command_options[:required] && command_options[:required].include?(:translation_file)
|
|
57
57
|
raise TranslationFileNotFound, "Translation file is required for command '#{current_command}'" unless @translation_file
|
|
58
|
-
raise TranslationFileNotFound, "Unable to find Translation File at #{@translation_file}" unless File.
|
|
58
|
+
raise TranslationFileNotFound, "Unable to find Translation File at #{@translation_file}" unless File.exist?(@translation_file)
|
|
59
59
|
@translation = Translation.parse(@translation_file)
|
|
60
60
|
end
|
|
61
61
|
end
|
|
@@ -9,7 +9,7 @@ module Mongify
|
|
|
9
9
|
|
|
10
10
|
# Parses a external configuration file and evaluates it and returns a instence of a configuration class
|
|
11
11
|
def parse(file_name)
|
|
12
|
-
raise Mongify::ConfigurationFileNotFound, "File #{file_name} is missing" unless File.
|
|
12
|
+
raise Mongify::ConfigurationFileNotFound, "File #{file_name} is missing" unless File.exist?(file_name)
|
|
13
13
|
config = self.new
|
|
14
14
|
config.instance_eval(File.read(file_name))
|
|
15
15
|
config
|
|
@@ -109,9 +109,13 @@ module Mongify
|
|
|
109
109
|
client[collection].find(query)
|
|
110
110
|
end
|
|
111
111
|
|
|
112
|
-
# Inserts into the collection a given row
|
|
112
|
+
# Inserts into the collection a given row or array of rows
|
|
113
113
|
def insert_into(collection_name, row)
|
|
114
|
-
|
|
114
|
+
if row.is_a?(Array)
|
|
115
|
+
client[collection_name].insert_many(row)
|
|
116
|
+
else
|
|
117
|
+
client[collection_name].insert_one(row)
|
|
118
|
+
end
|
|
115
119
|
end
|
|
116
120
|
|
|
117
121
|
# Updates a collection item with a given ID with the given attributes
|
data/lib/mongify/version.rb
CHANGED
data/mongify.gemspec
CHANGED
|
@@ -10,17 +10,19 @@ Gem::Specification.new do |s|
|
|
|
10
10
|
s.homepage = "http://mongify.com"
|
|
11
11
|
s.summary = %q{Translate your SQL data to MongoDB with ease}
|
|
12
12
|
s.description = %q{Mongify allows you to map your sql data into a mongodb document database with a simple DSL.}
|
|
13
|
-
s.required_ruby_version = ">= 3.
|
|
13
|
+
s.required_ruby_version = ">= 3.1"
|
|
14
14
|
|
|
15
|
-
s.add_runtime_dependency('activerecord', ">= 7.
|
|
16
|
-
s.add_runtime_dependency('activesupport', ">= 7.
|
|
15
|
+
s.add_runtime_dependency('activerecord', ">= 7.2.3.2", "< 8.0")
|
|
16
|
+
s.add_runtime_dependency('activesupport', ">= 7.2.3.2", "< 8.0")
|
|
17
|
+
s.add_runtime_dependency('concurrent-ruby', "~> 1.3", ">= 1.3.7")
|
|
17
18
|
s.add_runtime_dependency('mongo', "~> 2.19")
|
|
18
19
|
s.add_runtime_dependency('highline', '>= 1.7.8')
|
|
20
|
+
s.add_runtime_dependency('abbrev') # Required for Ruby 3.4+ (removed from stdlib)
|
|
19
21
|
|
|
20
22
|
|
|
21
23
|
s.add_development_dependency('rspec', '~> 3.0')
|
|
22
24
|
s.add_development_dependency('rspec-collection_matchers', '~> 1.0')
|
|
23
|
-
s.add_development_dependency('cucumber', '>= 0
|
|
25
|
+
s.add_development_dependency('cucumber', '>= 9.0')
|
|
24
26
|
s.add_development_dependency('mocha', '>= 0.9.8')
|
|
25
27
|
s.add_development_dependency('yard', '~> 0.9.11')
|
|
26
28
|
s.add_development_dependency('sqlite3', '>= 1.3')
|
|
@@ -31,7 +31,7 @@ class DatabaseGenerator
|
|
|
31
31
|
|
|
32
32
|
# Creates a new mysql database (and deletes the old one)
|
|
33
33
|
def self.sqlite(include_data=true)
|
|
34
|
-
File.delete(sqlite_connection.database) if File.
|
|
34
|
+
File.delete(sqlite_connection.database) if File.exist?(sqlite_connection.database)
|
|
35
35
|
|
|
36
36
|
conn = sqlite_connection.connection
|
|
37
37
|
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mongify
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.4.
|
|
4
|
+
version: 1.4.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andrew Kalek
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: activerecord
|
|
@@ -16,7 +15,7 @@ dependencies:
|
|
|
16
15
|
requirements:
|
|
17
16
|
- - ">="
|
|
18
17
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 7.
|
|
18
|
+
version: 7.2.3.2
|
|
20
19
|
- - "<"
|
|
21
20
|
- !ruby/object:Gem::Version
|
|
22
21
|
version: '8.0'
|
|
@@ -26,7 +25,7 @@ dependencies:
|
|
|
26
25
|
requirements:
|
|
27
26
|
- - ">="
|
|
28
27
|
- !ruby/object:Gem::Version
|
|
29
|
-
version: 7.
|
|
28
|
+
version: 7.2.3.2
|
|
30
29
|
- - "<"
|
|
31
30
|
- !ruby/object:Gem::Version
|
|
32
31
|
version: '8.0'
|
|
@@ -36,7 +35,7 @@ dependencies:
|
|
|
36
35
|
requirements:
|
|
37
36
|
- - ">="
|
|
38
37
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: 7.
|
|
38
|
+
version: 7.2.3.2
|
|
40
39
|
- - "<"
|
|
41
40
|
- !ruby/object:Gem::Version
|
|
42
41
|
version: '8.0'
|
|
@@ -46,10 +45,30 @@ dependencies:
|
|
|
46
45
|
requirements:
|
|
47
46
|
- - ">="
|
|
48
47
|
- !ruby/object:Gem::Version
|
|
49
|
-
version: 7.
|
|
48
|
+
version: 7.2.3.2
|
|
50
49
|
- - "<"
|
|
51
50
|
- !ruby/object:Gem::Version
|
|
52
51
|
version: '8.0'
|
|
52
|
+
- !ruby/object:Gem::Dependency
|
|
53
|
+
name: concurrent-ruby
|
|
54
|
+
requirement: !ruby/object:Gem::Requirement
|
|
55
|
+
requirements:
|
|
56
|
+
- - "~>"
|
|
57
|
+
- !ruby/object:Gem::Version
|
|
58
|
+
version: '1.3'
|
|
59
|
+
- - ">="
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: 1.3.7
|
|
62
|
+
type: :runtime
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - "~>"
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '1.3'
|
|
69
|
+
- - ">="
|
|
70
|
+
- !ruby/object:Gem::Version
|
|
71
|
+
version: 1.3.7
|
|
53
72
|
- !ruby/object:Gem::Dependency
|
|
54
73
|
name: mongo
|
|
55
74
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -78,6 +97,20 @@ dependencies:
|
|
|
78
97
|
- - ">="
|
|
79
98
|
- !ruby/object:Gem::Version
|
|
80
99
|
version: 1.7.8
|
|
100
|
+
- !ruby/object:Gem::Dependency
|
|
101
|
+
name: abbrev
|
|
102
|
+
requirement: !ruby/object:Gem::Requirement
|
|
103
|
+
requirements:
|
|
104
|
+
- - ">="
|
|
105
|
+
- !ruby/object:Gem::Version
|
|
106
|
+
version: '0'
|
|
107
|
+
type: :runtime
|
|
108
|
+
prerelease: false
|
|
109
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
110
|
+
requirements:
|
|
111
|
+
- - ">="
|
|
112
|
+
- !ruby/object:Gem::Version
|
|
113
|
+
version: '0'
|
|
81
114
|
- !ruby/object:Gem::Dependency
|
|
82
115
|
name: rspec
|
|
83
116
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -112,14 +145,14 @@ dependencies:
|
|
|
112
145
|
requirements:
|
|
113
146
|
- - ">="
|
|
114
147
|
- !ruby/object:Gem::Version
|
|
115
|
-
version: '0
|
|
148
|
+
version: '9.0'
|
|
116
149
|
type: :development
|
|
117
150
|
prerelease: false
|
|
118
151
|
version_requirements: !ruby/object:Gem::Requirement
|
|
119
152
|
requirements:
|
|
120
153
|
- - ">="
|
|
121
154
|
- !ruby/object:Gem::Version
|
|
122
|
-
version: '0
|
|
155
|
+
version: '9.0'
|
|
123
156
|
- !ruby/object:Gem::Dependency
|
|
124
157
|
name: mocha
|
|
125
158
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -326,7 +359,6 @@ files:
|
|
|
326
359
|
homepage: http://mongify.com
|
|
327
360
|
licenses: []
|
|
328
361
|
metadata: {}
|
|
329
|
-
post_install_message:
|
|
330
362
|
rdoc_options:
|
|
331
363
|
- "--title"
|
|
332
364
|
- Mongify -- SQL db to Mongo db converter
|
|
@@ -340,15 +372,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
340
372
|
requirements:
|
|
341
373
|
- - ">="
|
|
342
374
|
- !ruby/object:Gem::Version
|
|
343
|
-
version: '3.
|
|
375
|
+
version: '3.1'
|
|
344
376
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
345
377
|
requirements:
|
|
346
378
|
- - ">="
|
|
347
379
|
- !ruby/object:Gem::Version
|
|
348
380
|
version: '0'
|
|
349
381
|
requirements: []
|
|
350
|
-
rubygems_version:
|
|
351
|
-
signing_key:
|
|
382
|
+
rubygems_version: 4.0.4
|
|
352
383
|
specification_version: 4
|
|
353
384
|
summary: Translate your SQL data to MongoDB with ease
|
|
354
385
|
test_files:
|