mongify 1.4.0 → 1.4.1
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 +11 -3
- data/Gemfile.lock +33 -33
- 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 +2 -1
- data/spec/support/config_reader.rb +1 -1
- data/spec/support/database_generator.rb +1 -1
- metadata +19 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9df23e8fc3b94b92b709ff1650178482c0dd184a44ce703c74fc40fc5b5e2b6f
|
|
4
|
+
data.tar.gz: 833b3a0068e9b9451a1cc26ec22c33673071b16bc848e4f8891fc09091b455e2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8216795409436c7ad7c5164c0bce9baab5bdc7c24370809ea038a3935f970a1bf6a7efda2abe2f63159c8582f85a6da58265c3d8cd0e095e9b4b91e347264516
|
|
7
|
+
data.tar.gz: 4403a7f8792a1da7d3134052247714c6a0aff5ec2ab56d4ccb1da3d987e9c7707a09757da8e55e869da10447f033416ef15302f9f87eba1d8554c5874cea0b4c
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Mongify ChangeLog
|
|
2
2
|
|
|
3
|
+
## 1.4.1 / 13 Jan 2026
|
|
4
|
+
* Added MongoDB 8.0 support and compatibility testing
|
|
5
|
+
* Fixed Ruby 3.4 compatibility:
|
|
6
|
+
- Added `abbrev` gem dependency (removed from Ruby 3.4 stdlib)
|
|
7
|
+
- Replaced deprecated `File.exists?` with `File.exist?`
|
|
8
|
+
- Updated cucumber dependency to >= 9.0
|
|
9
|
+
* Fixed batch insert compatibility with mongo driver 2.22+ (`insert_many` for arrays)
|
|
10
|
+
* Updated docker-compose.dev.yml to use MongoDB 8.0
|
|
11
|
+
* Documented tested MongoDB versions (4.4, 8.0) in README
|
|
12
|
+
|
|
3
13
|
## 1.4.0 / 12 Jan 2026
|
|
4
14
|
* **BREAKING**: Ruby 3.0+ now required (was 2.5+)
|
|
5
15
|
* Upgraded to ActiveRecord/ActiveSupport 7.x (7.2.3)
|
|
@@ -14,8 +24,6 @@
|
|
|
14
24
|
* Fixed Ruby 3.x compatibility in DataRow#respond_to?
|
|
15
25
|
* Fixed Rails 7.0+ deprecation: Time#to_s(:db) -> Time#to_fs(:db)
|
|
16
26
|
* Removed explicit bson/bson_ext dependencies (now bundled with mongo gem)
|
|
17
|
-
|
|
18
|
-
## 1.3.3 / 12 Jan 2026
|
|
19
27
|
* Updated ActiveRecord/ActiveSupport compatibility to support versions 4.2 through 6.0
|
|
20
28
|
* Updated minimum Ruby version to 2.5+
|
|
21
29
|
* Fixed ActiveRecord type casting API changes (`type_cast_from_database` -> `deserialize`)
|
|
@@ -192,4 +200,4 @@
|
|
|
192
200
|
* Improved tests to cover most of the code
|
|
193
201
|
* Changed overall commands for Mongify
|
|
194
202
|
## 0.0.1 / 22 Mar 2010
|
|
195
|
-
* Initial Setup
|
|
203
|
+
* Initial Setup
|
data/Gemfile.lock
CHANGED
|
@@ -2,6 +2,7 @@ PATH
|
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
4
|
mongify (1.4.0)
|
|
5
|
+
abbrev
|
|
5
6
|
activerecord (>= 7.1.5.2, < 8.0)
|
|
6
7
|
activesupport (>= 7.1.5.2, < 8.0)
|
|
7
8
|
highline (>= 1.7.8)
|
|
@@ -10,6 +11,7 @@ PATH
|
|
|
10
11
|
GEM
|
|
11
12
|
remote: https://rubygems.org/
|
|
12
13
|
specs:
|
|
14
|
+
abbrev (0.1.2)
|
|
13
15
|
activemodel (7.2.3)
|
|
14
16
|
activesupport (= 7.2.3)
|
|
15
17
|
activerecord (7.2.3)
|
|
@@ -40,30 +42,31 @@ GEM
|
|
|
40
42
|
connection_pool (2.5.5)
|
|
41
43
|
coolline (0.5.0)
|
|
42
44
|
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-
|
|
45
|
+
cucumber (10.2.0)
|
|
46
|
+
base64 (~> 0.2)
|
|
47
|
+
builder (~> 3.2)
|
|
48
|
+
cucumber-ci-environment (> 9, < 12)
|
|
49
|
+
cucumber-core (> 15, < 17)
|
|
50
|
+
cucumber-cucumber-expressions (> 17, < 20)
|
|
51
|
+
cucumber-html-formatter (> 21, < 23)
|
|
52
|
+
diff-lcs (~> 1.5)
|
|
53
|
+
logger (~> 1.6)
|
|
54
|
+
mini_mime (~> 1.1)
|
|
55
|
+
multi_test (~> 1.1)
|
|
56
|
+
sys-uname (~> 1.3)
|
|
57
|
+
cucumber-ci-environment (11.0.0)
|
|
58
|
+
cucumber-core (16.1.1)
|
|
59
|
+
cucumber-gherkin (> 36, < 40)
|
|
60
|
+
cucumber-messages (> 31, < 33)
|
|
61
|
+
cucumber-tag-expressions (> 6, < 9)
|
|
62
|
+
cucumber-cucumber-expressions (18.0.1)
|
|
63
|
+
bigdecimal
|
|
64
|
+
cucumber-gherkin (37.0.1)
|
|
65
|
+
cucumber-messages (>= 31, < 32)
|
|
66
|
+
cucumber-html-formatter (22.3.0)
|
|
67
|
+
cucumber-messages (> 23, < 33)
|
|
68
|
+
cucumber-messages (31.2.0)
|
|
69
|
+
cucumber-tag-expressions (8.1.0)
|
|
67
70
|
diff-lcs (1.6.2)
|
|
68
71
|
drb (2.2.3)
|
|
69
72
|
ffi (1.17.3-arm64-darwin)
|
|
@@ -76,12 +79,9 @@ GEM
|
|
|
76
79
|
pry-byebug (~> 3.9)
|
|
77
80
|
pry-coolline (~> 0.2)
|
|
78
81
|
logger (1.7.0)
|
|
79
|
-
|
|
82
|
+
memoist3 (1.0.0)
|
|
80
83
|
method_source (1.1.0)
|
|
81
|
-
|
|
82
|
-
logger
|
|
83
|
-
mime-types-data (~> 3.2025, >= 3.2025.0507)
|
|
84
|
-
mime-types-data (3.2025.0924)
|
|
84
|
+
mini_mime (1.1.5)
|
|
85
85
|
minitest (5.27.0)
|
|
86
86
|
mocha (3.0.1)
|
|
87
87
|
ruby2_keywords (>= 0.0.5)
|
|
@@ -119,10 +119,10 @@ GEM
|
|
|
119
119
|
rspec-support (3.13.6)
|
|
120
120
|
ruby2_keywords (0.0.5)
|
|
121
121
|
securerandom (0.4.1)
|
|
122
|
-
sqlite3 (
|
|
123
|
-
sys-uname (1.4.
|
|
122
|
+
sqlite3 (2.9.0-arm64-darwin)
|
|
123
|
+
sys-uname (1.4.1)
|
|
124
124
|
ffi (~> 1.1)
|
|
125
|
-
|
|
125
|
+
memoist3 (~> 1.0.0)
|
|
126
126
|
timeout (0.6.0)
|
|
127
127
|
tzinfo (2.0.6)
|
|
128
128
|
concurrent-ruby (~> 1.0)
|
|
@@ -134,7 +134,7 @@ PLATFORMS
|
|
|
134
134
|
arm64-darwin-25
|
|
135
135
|
|
|
136
136
|
DEPENDENCIES
|
|
137
|
-
cucumber (>= 0
|
|
137
|
+
cucumber (>= 9.0)
|
|
138
138
|
jazz_fingers
|
|
139
139
|
mocha (>= 0.9.8)
|
|
140
140
|
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
|
@@ -16,11 +16,12 @@ Gem::Specification.new do |s|
|
|
|
16
16
|
s.add_runtime_dependency('activesupport', ">= 7.1.5.2", "< 8.0")
|
|
17
17
|
s.add_runtime_dependency('mongo', "~> 2.19")
|
|
18
18
|
s.add_runtime_dependency('highline', '>= 1.7.8')
|
|
19
|
+
s.add_runtime_dependency('abbrev') # Required for Ruby 3.4+ (removed from stdlib)
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
s.add_development_dependency('rspec', '~> 3.0')
|
|
22
23
|
s.add_development_dependency('rspec-collection_matchers', '~> 1.0')
|
|
23
|
-
s.add_development_dependency('cucumber', '>= 0
|
|
24
|
+
s.add_development_dependency('cucumber', '>= 9.0')
|
|
24
25
|
s.add_development_dependency('mocha', '>= 0.9.8')
|
|
25
26
|
s.add_development_dependency('yard', '~> 0.9.11')
|
|
26
27
|
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.1
|
|
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
|
|
@@ -78,6 +77,20 @@ dependencies:
|
|
|
78
77
|
- - ">="
|
|
79
78
|
- !ruby/object:Gem::Version
|
|
80
79
|
version: 1.7.8
|
|
80
|
+
- !ruby/object:Gem::Dependency
|
|
81
|
+
name: abbrev
|
|
82
|
+
requirement: !ruby/object:Gem::Requirement
|
|
83
|
+
requirements:
|
|
84
|
+
- - ">="
|
|
85
|
+
- !ruby/object:Gem::Version
|
|
86
|
+
version: '0'
|
|
87
|
+
type: :runtime
|
|
88
|
+
prerelease: false
|
|
89
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
90
|
+
requirements:
|
|
91
|
+
- - ">="
|
|
92
|
+
- !ruby/object:Gem::Version
|
|
93
|
+
version: '0'
|
|
81
94
|
- !ruby/object:Gem::Dependency
|
|
82
95
|
name: rspec
|
|
83
96
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -112,14 +125,14 @@ dependencies:
|
|
|
112
125
|
requirements:
|
|
113
126
|
- - ">="
|
|
114
127
|
- !ruby/object:Gem::Version
|
|
115
|
-
version: '0
|
|
128
|
+
version: '9.0'
|
|
116
129
|
type: :development
|
|
117
130
|
prerelease: false
|
|
118
131
|
version_requirements: !ruby/object:Gem::Requirement
|
|
119
132
|
requirements:
|
|
120
133
|
- - ">="
|
|
121
134
|
- !ruby/object:Gem::Version
|
|
122
|
-
version: '0
|
|
135
|
+
version: '9.0'
|
|
123
136
|
- !ruby/object:Gem::Dependency
|
|
124
137
|
name: mocha
|
|
125
138
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -326,7 +339,6 @@ files:
|
|
|
326
339
|
homepage: http://mongify.com
|
|
327
340
|
licenses: []
|
|
328
341
|
metadata: {}
|
|
329
|
-
post_install_message:
|
|
330
342
|
rdoc_options:
|
|
331
343
|
- "--title"
|
|
332
344
|
- Mongify -- SQL db to Mongo db converter
|
|
@@ -347,8 +359,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
347
359
|
- !ruby/object:Gem::Version
|
|
348
360
|
version: '0'
|
|
349
361
|
requirements: []
|
|
350
|
-
rubygems_version:
|
|
351
|
-
signing_key:
|
|
362
|
+
rubygems_version: 4.0.1
|
|
352
363
|
specification_version: 4
|
|
353
364
|
summary: Translate your SQL data to MongoDB with ease
|
|
354
365
|
test_files:
|