squealer 2.2.0 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -1,2 +1,3 @@
1
1
  pkg/
2
2
  tags
3
+ tmp/
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
- # rvm use 1.8.7-p174@squealer
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
- ** EXPORT_DMBS=mysql
26
- ** EXPORT_DBMS=postgres
27
- ** MySQL is default if not specified
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 Relational database exporter"
13
- gemspec.description = "Exports mongodb to mysql. More later."
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.0
1
+ 2.2.1
@@ -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? DataObjects::Mysql::Connection
34
+ defined?(DataObjects::Mysql) && @export_do.is_a?(DataObjects::Mysql::Connection)
36
35
  end
37
36
 
38
37
  class Connection
@@ -1,4 +1,5 @@
1
1
  def create_export_db(name)
2
+ require 'do_mysql'
2
3
  $db_adapter = 'mysql'
3
4
  dbc = DataObjects::Connection.new("mysql://root@localhost/mysql")
4
5
  dbc.create_command("DROP DATABASE IF EXISTS #{name}").execute_non_query
@@ -1,4 +1,5 @@
1
1
  def create_export_db(name)
2
+ require 'do_postgres'
2
3
  $db_adapter = 'postgres'
3
4
  dbc = DataObjects::Connection.new("postgres://localhost/postgres")
4
5
  dbc.create_command("DROP DATABASE IF EXISTS #{name}").execute_non_query
@@ -5,13 +5,13 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{squealer}
8
- s.version = "2.2.0"
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 mongodb to mysql. More later.}
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.7}
54
- s.summary = %q{Document-oriented to Relational database exporter}
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::VERSION) >= Gem::Version.new('1.2.0') then
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
- - 0
10
- version: 2.2.0
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: &id005 !ruby/object:Gem::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: *id005
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: &id007 !ruby/object:Gem::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: *id007
92
+ version_requirements: *id005
136
93
  - !ruby/object:Gem::Dependency
137
94
  name: rspec
138
95
  prerelease: false
139
- requirement: &id008 !ruby/object:Gem::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: *id008
152
- description: Exports mongodb to mysql. More later.
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.7
170
+ rubygems_version: 1.3.6
220
171
  signing_key:
221
172
  specification_version: 3
222
- summary: Document-oriented to Relational database exporter
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