squealer 2.2.0 → 2.2.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.
- data/.gitignore +1 -0
- data/.rvmrc +2 -2
- data/README.md +3 -3
- data/Rakefile +3 -4
- data/VERSION +1 -1
- data/lib/squealer/database.rb +3 -4
- data/spec/spec_helper_dbms_mysql.rb +1 -0
- data/spec/spec_helper_dbms_postgres.rb +1 -0
- data/squealer.gemspec +5 -11
- metadata +11 -60
data/.gitignore
CHANGED
data/.rvmrc
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# These are the rubies that squealer has been tested on. Uncomment the one you want to use right now.
|
2
2
|
# 1.8.7-p249 segfaults postgres.
|
3
3
|
#
|
4
|
-
|
5
|
-
rvm use 1.9.1@squealer #-p378
|
4
|
+
rvm use 1.8.7-p174@squealer
|
5
|
+
# rvm use 1.9.1@squealer #-p378
|
6
6
|
# rvm use 1.9.2@squealer #-preview3
|
data/README.md
CHANGED
@@ -22,9 +22,9 @@ where the squeal script includes a `require 'squealer'`.
|
|
22
22
|
### v2.2
|
23
23
|
* Adds support for PostgreSQL database as an export target
|
24
24
|
* Uses EXPORT_DBMS environment variable to specify database adapter
|
25
|
-
|
26
|
-
|
27
|
-
|
25
|
+
* EXPORT_DMBS=mysql
|
26
|
+
* EXPORT_DBMS=postgres
|
27
|
+
* MySQL is default if not specified
|
28
28
|
* Switched to using DataMapper's DataObjects SQL wrapper
|
29
29
|
* Removed the need for some typecasting and export schema restrictions (e.g. true/false maps to whatever is idiomatic for the specified DBMS)
|
30
30
|
* NB: The pg gem for PostgreSQL segfaults on Ruby 1.8.7-p249 so we've reverted to supporting up to 1.8.7-p174
|
data/Rakefile
CHANGED
@@ -4,13 +4,14 @@
|
|
4
4
|
require 'rake'
|
5
5
|
require 'spec/rake/spectask'
|
6
6
|
require 'rake/rdoctask'
|
7
|
+
require 'metric_fu'
|
7
8
|
|
8
9
|
begin
|
9
10
|
require 'jeweler'
|
10
11
|
Jeweler::Tasks.new do |gemspec|
|
11
12
|
gemspec.name = "squealer"
|
12
|
-
gemspec.summary = "Document-oriented to
|
13
|
-
gemspec.description = "Exports
|
13
|
+
gemspec.summary = "Document-oriented database to RDBMS exports"
|
14
|
+
gemspec.description = "Exports MongoDB to MySQL or PostgreSQL."
|
14
15
|
gemspec.email = "joshua.graham@grahamis.com"
|
15
16
|
gemspec.homepage = "http://github.com/delitescere/squealer/"
|
16
17
|
gemspec.authors = ["Josh Graham", "Durran Jordan", "Matt Yoho", "Bernerd Schaefer"]
|
@@ -24,9 +25,7 @@ begin
|
|
24
25
|
|
25
26
|
# export DBMS
|
26
27
|
gemspec.add_dependency('data_objects', '>= 0.10.2')
|
27
|
-
gemspec.add_dependency('mysql', '>= 2.8.1')
|
28
28
|
gemspec.add_dependency('do_mysql', '>= 0.10.2')
|
29
|
-
gemspec.add_dependency('pg', '>= 0.9.0')
|
30
29
|
gemspec.add_dependency('do_postgres', '>= 0.10.2')
|
31
30
|
|
32
31
|
gemspec.add_development_dependency('rspec', '>= 1.3.0')
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.2.
|
1
|
+
2.2.1
|
data/lib/squealer/database.rb
CHANGED
@@ -1,8 +1,5 @@
|
|
1
1
|
require 'mongo'
|
2
2
|
require 'data_objects'
|
3
|
-
require 'mysql'
|
4
|
-
require 'do_mysql'
|
5
|
-
require 'do_postgres'
|
6
3
|
|
7
4
|
require 'singleton'
|
8
5
|
|
@@ -16,6 +13,8 @@ module Squealer
|
|
16
13
|
end
|
17
14
|
|
18
15
|
def export_to(adapter, host, username, password, name)
|
16
|
+
require "do_#{adapter}"
|
17
|
+
|
19
18
|
@@all_export_connections ||= []
|
20
19
|
@export_do.dispose if @export_do
|
21
20
|
|
@@ -32,7 +31,7 @@ module Squealer
|
|
32
31
|
end
|
33
32
|
|
34
33
|
def upsertable?
|
35
|
-
@export_do.is_a?
|
34
|
+
defined?(DataObjects::Mysql) && @export_do.is_a?(DataObjects::Mysql::Connection)
|
36
35
|
end
|
37
36
|
|
38
37
|
class Connection
|
data/squealer.gemspec
CHANGED
@@ -5,13 +5,13 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{squealer}
|
8
|
-
s.version = "2.2.
|
8
|
+
s.version = "2.2.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Josh Graham", "Durran Jordan", "Matt Yoho", "Bernerd Schaefer"]
|
12
12
|
s.date = %q{2010-06-23}
|
13
13
|
s.default_executable = %q{skewer}
|
14
|
-
s.description = %q{Exports
|
14
|
+
s.description = %q{Exports MongoDB to MySQL or PostgreSQL.}
|
15
15
|
s.email = %q{joshua.graham@grahamis.com}
|
16
16
|
s.executables = ["skewer"]
|
17
17
|
s.extra_rdoc_files = [
|
@@ -50,8 +50,8 @@ Gem::Specification.new do |s|
|
|
50
50
|
s.homepage = %q{http://github.com/delitescere/squealer/}
|
51
51
|
s.rdoc_options = ["--charset=UTF-8"]
|
52
52
|
s.require_paths = ["lib"]
|
53
|
-
s.rubygems_version = %q{1.3.
|
54
|
-
s.summary = %q{Document-oriented to
|
53
|
+
s.rubygems_version = %q{1.3.6}
|
54
|
+
s.summary = %q{Document-oriented database to RDBMS exports}
|
55
55
|
s.test_files = [
|
56
56
|
"spec/integration/export_a_record_spec.rb",
|
57
57
|
"spec/spec_helper.rb",
|
@@ -68,22 +68,18 @@ Gem::Specification.new do |s|
|
|
68
68
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
69
69
|
s.specification_version = 3
|
70
70
|
|
71
|
-
if Gem::Version.new(Gem::
|
71
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
72
72
|
s.add_runtime_dependency(%q<mongo>, [">= 0.18.3"])
|
73
73
|
s.add_runtime_dependency(%q<bson_ext>, [">= 1.0.1"])
|
74
74
|
s.add_runtime_dependency(%q<data_objects>, [">= 0.10.2"])
|
75
|
-
s.add_runtime_dependency(%q<mysql>, [">= 2.8.1"])
|
76
75
|
s.add_runtime_dependency(%q<do_mysql>, [">= 0.10.2"])
|
77
|
-
s.add_runtime_dependency(%q<pg>, [">= 0.9.0"])
|
78
76
|
s.add_runtime_dependency(%q<do_postgres>, [">= 0.10.2"])
|
79
77
|
s.add_development_dependency(%q<rspec>, [">= 1.3.0"])
|
80
78
|
else
|
81
79
|
s.add_dependency(%q<mongo>, [">= 0.18.3"])
|
82
80
|
s.add_dependency(%q<bson_ext>, [">= 1.0.1"])
|
83
81
|
s.add_dependency(%q<data_objects>, [">= 0.10.2"])
|
84
|
-
s.add_dependency(%q<mysql>, [">= 2.8.1"])
|
85
82
|
s.add_dependency(%q<do_mysql>, [">= 0.10.2"])
|
86
|
-
s.add_dependency(%q<pg>, [">= 0.9.0"])
|
87
83
|
s.add_dependency(%q<do_postgres>, [">= 0.10.2"])
|
88
84
|
s.add_dependency(%q<rspec>, [">= 1.3.0"])
|
89
85
|
end
|
@@ -91,9 +87,7 @@ Gem::Specification.new do |s|
|
|
91
87
|
s.add_dependency(%q<mongo>, [">= 0.18.3"])
|
92
88
|
s.add_dependency(%q<bson_ext>, [">= 1.0.1"])
|
93
89
|
s.add_dependency(%q<data_objects>, [">= 0.10.2"])
|
94
|
-
s.add_dependency(%q<mysql>, [">= 2.8.1"])
|
95
90
|
s.add_dependency(%q<do_mysql>, [">= 0.10.2"])
|
96
|
-
s.add_dependency(%q<pg>, [">= 0.9.0"])
|
97
91
|
s.add_dependency(%q<do_postgres>, [">= 0.10.2"])
|
98
92
|
s.add_dependency(%q<rspec>, [">= 1.3.0"])
|
99
93
|
end
|
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: squealer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: 7
|
5
4
|
prerelease: false
|
6
5
|
segments:
|
7
6
|
- 2
|
8
7
|
- 2
|
9
|
-
-
|
10
|
-
version: 2.2.
|
8
|
+
- 1
|
9
|
+
version: 2.2.1
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Josh Graham
|
@@ -25,11 +24,9 @@ dependencies:
|
|
25
24
|
name: mongo
|
26
25
|
prerelease: false
|
27
26
|
requirement: &id001 !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
27
|
requirements:
|
30
28
|
- - ">="
|
31
29
|
- !ruby/object:Gem::Version
|
32
|
-
hash: 81
|
33
30
|
segments:
|
34
31
|
- 0
|
35
32
|
- 18
|
@@ -41,11 +38,9 @@ dependencies:
|
|
41
38
|
name: bson_ext
|
42
39
|
prerelease: false
|
43
40
|
requirement: &id002 !ruby/object:Gem::Requirement
|
44
|
-
none: false
|
45
41
|
requirements:
|
46
42
|
- - ">="
|
47
43
|
- !ruby/object:Gem::Version
|
48
|
-
hash: 21
|
49
44
|
segments:
|
50
45
|
- 1
|
51
46
|
- 0
|
@@ -57,11 +52,9 @@ dependencies:
|
|
57
52
|
name: data_objects
|
58
53
|
prerelease: false
|
59
54
|
requirement: &id003 !ruby/object:Gem::Requirement
|
60
|
-
none: false
|
61
55
|
requirements:
|
62
56
|
- - ">="
|
63
57
|
- !ruby/object:Gem::Version
|
64
|
-
hash: 51
|
65
58
|
segments:
|
66
59
|
- 0
|
67
60
|
- 10
|
@@ -69,87 +62,49 @@ dependencies:
|
|
69
62
|
version: 0.10.2
|
70
63
|
type: :runtime
|
71
64
|
version_requirements: *id003
|
72
|
-
- !ruby/object:Gem::Dependency
|
73
|
-
name: mysql
|
74
|
-
prerelease: false
|
75
|
-
requirement: &id004 !ruby/object:Gem::Requirement
|
76
|
-
none: false
|
77
|
-
requirements:
|
78
|
-
- - ">="
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
hash: 45
|
81
|
-
segments:
|
82
|
-
- 2
|
83
|
-
- 8
|
84
|
-
- 1
|
85
|
-
version: 2.8.1
|
86
|
-
type: :runtime
|
87
|
-
version_requirements: *id004
|
88
65
|
- !ruby/object:Gem::Dependency
|
89
66
|
name: do_mysql
|
90
67
|
prerelease: false
|
91
|
-
requirement: &
|
92
|
-
none: false
|
68
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
93
69
|
requirements:
|
94
70
|
- - ">="
|
95
71
|
- !ruby/object:Gem::Version
|
96
|
-
hash: 51
|
97
72
|
segments:
|
98
73
|
- 0
|
99
74
|
- 10
|
100
75
|
- 2
|
101
76
|
version: 0.10.2
|
102
77
|
type: :runtime
|
103
|
-
version_requirements: *
|
104
|
-
- !ruby/object:Gem::Dependency
|
105
|
-
name: pg
|
106
|
-
prerelease: false
|
107
|
-
requirement: &id006 !ruby/object:Gem::Requirement
|
108
|
-
none: false
|
109
|
-
requirements:
|
110
|
-
- - ">="
|
111
|
-
- !ruby/object:Gem::Version
|
112
|
-
hash: 59
|
113
|
-
segments:
|
114
|
-
- 0
|
115
|
-
- 9
|
116
|
-
- 0
|
117
|
-
version: 0.9.0
|
118
|
-
type: :runtime
|
119
|
-
version_requirements: *id006
|
78
|
+
version_requirements: *id004
|
120
79
|
- !ruby/object:Gem::Dependency
|
121
80
|
name: do_postgres
|
122
81
|
prerelease: false
|
123
|
-
requirement: &
|
124
|
-
none: false
|
82
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
125
83
|
requirements:
|
126
84
|
- - ">="
|
127
85
|
- !ruby/object:Gem::Version
|
128
|
-
hash: 51
|
129
86
|
segments:
|
130
87
|
- 0
|
131
88
|
- 10
|
132
89
|
- 2
|
133
90
|
version: 0.10.2
|
134
91
|
type: :runtime
|
135
|
-
version_requirements: *
|
92
|
+
version_requirements: *id005
|
136
93
|
- !ruby/object:Gem::Dependency
|
137
94
|
name: rspec
|
138
95
|
prerelease: false
|
139
|
-
requirement: &
|
140
|
-
none: false
|
96
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
141
97
|
requirements:
|
142
98
|
- - ">="
|
143
99
|
- !ruby/object:Gem::Version
|
144
|
-
hash: 27
|
145
100
|
segments:
|
146
101
|
- 1
|
147
102
|
- 3
|
148
103
|
- 0
|
149
104
|
version: 1.3.0
|
150
105
|
type: :development
|
151
|
-
version_requirements: *
|
152
|
-
description: Exports
|
106
|
+
version_requirements: *id006
|
107
|
+
description: Exports MongoDB to MySQL or PostgreSQL.
|
153
108
|
email: joshua.graham@grahamis.com
|
154
109
|
executables:
|
155
110
|
- skewer
|
@@ -196,30 +151,26 @@ rdoc_options:
|
|
196
151
|
require_paths:
|
197
152
|
- lib
|
198
153
|
required_ruby_version: !ruby/object:Gem::Requirement
|
199
|
-
none: false
|
200
154
|
requirements:
|
201
155
|
- - ">="
|
202
156
|
- !ruby/object:Gem::Version
|
203
|
-
hash: 3
|
204
157
|
segments:
|
205
158
|
- 0
|
206
159
|
version: "0"
|
207
160
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
208
|
-
none: false
|
209
161
|
requirements:
|
210
162
|
- - ">="
|
211
163
|
- !ruby/object:Gem::Version
|
212
|
-
hash: 3
|
213
164
|
segments:
|
214
165
|
- 0
|
215
166
|
version: "0"
|
216
167
|
requirements: []
|
217
168
|
|
218
169
|
rubyforge_project:
|
219
|
-
rubygems_version: 1.3.
|
170
|
+
rubygems_version: 1.3.6
|
220
171
|
signing_key:
|
221
172
|
specification_version: 3
|
222
|
-
summary: Document-oriented to
|
173
|
+
summary: Document-oriented database to RDBMS exports
|
223
174
|
test_files:
|
224
175
|
- spec/integration/export_a_record_spec.rb
|
225
176
|
- spec/spec_helper.rb
|