database-exporter 0.0.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.
Files changed (79) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +39 -0
  3. data/.travis.yml +6 -0
  4. data/CHANGELOG.md +4 -0
  5. data/Gemfile +7 -0
  6. data/Gemfile.lock +74 -0
  7. data/LICENSE +22 -0
  8. data/README.md +682 -0
  9. data/Rakefile +7 -0
  10. data/bin/database-exporter +48 -0
  11. data/database_exporter.gemspec +34 -0
  12. data/example_data/contentful_model.json +316 -0
  13. data/example_data/contentful_structure.json +89 -0
  14. data/example_data/example_settings.yml +25 -0
  15. data/example_data/mapping.json +119 -0
  16. data/lib/cli.rb +13 -0
  17. data/lib/configuration.rb +69 -0
  18. data/lib/converters/content_types_structure_creator.rb +58 -0
  19. data/lib/converters/contentful_model_to_json.rb +78 -0
  20. data/lib/database/export.rb +74 -0
  21. data/lib/database/modules/json_export.rb +79 -0
  22. data/lib/database/modules/relations_export.rb +270 -0
  23. data/lib/database/modules/utils.rb +20 -0
  24. data/lib/migrator.rb +29 -0
  25. data/lib/version.rb +3 -0
  26. data/spec/fixtures/database/data/assets/image/image_1.json +9 -0
  27. data/spec/fixtures/database/data/assets/image/image_2.json +9 -0
  28. data/spec/fixtures/database/data/assets/image/image_3.json +9 -0
  29. data/spec/fixtures/database/data/assets/image/image_4.json +9 -0
  30. data/spec/fixtures/database/data/collections/comment.json +18 -0
  31. data/spec/fixtures/database/data/collections/job_skills.json +13 -0
  32. data/spec/fixtures/database/data/collections/jobs.json +44 -0
  33. data/spec/fixtures/database/data/collections/profile.json +19 -0
  34. data/spec/fixtures/database/data/collections/user.json +36 -0
  35. data/spec/fixtures/database/data/entries/comment/comment_1.json +9 -0
  36. data/spec/fixtures/database/data/entries/comment/comment_2.json +9 -0
  37. data/spec/fixtures/database/data/entries/comment/comment_3.json +9 -0
  38. data/spec/fixtures/database/data/entries/comment/comment_4.json +9 -0
  39. data/spec/fixtures/database/data/entries/comment/comment_5.json +9 -0
  40. data/spec/fixtures/database/data/entries/job_skills/job_skills_1.json +7 -0
  41. data/spec/fixtures/database/data/entries/job_skills/job_skills_10.json +7 -0
  42. data/spec/fixtures/database/data/entries/job_skills/job_skills_2.json +7 -0
  43. data/spec/fixtures/database/data/entries/job_skills/job_skills_3.json +7 -0
  44. data/spec/fixtures/database/data/entries/job_skills/job_skills_4.json +7 -0
  45. data/spec/fixtures/database/data/entries/job_skills/job_skills_5.json +7 -0
  46. data/spec/fixtures/database/data/entries/job_skills/job_skills_6.json +7 -0
  47. data/spec/fixtures/database/data/entries/job_skills/job_skills_7.json +7 -0
  48. data/spec/fixtures/database/data/entries/job_skills/job_skills_8.json +7 -0
  49. data/spec/fixtures/database/data/entries/job_skills/job_skills_9.json +7 -0
  50. data/spec/fixtures/database/data/entries/jobs/jobs_1.json +56 -0
  51. data/spec/fixtures/database/data/entries/jobs/jobs_2.json +55 -0
  52. data/spec/fixtures/database/data/entries/jobs/jobs_4.json +49 -0
  53. data/spec/fixtures/database/data/entries/profile/profile_1.json +12 -0
  54. data/spec/fixtures/database/data/entries/profile/profile_2.json +12 -0
  55. data/spec/fixtures/database/data/entries/user/user_1.json +24 -0
  56. data/spec/fixtures/database/data/entries/user/user_2.json +20 -0
  57. data/spec/fixtures/database/data/helpers/job_add_id_comments.json +11 -0
  58. data/spec/fixtures/database/data/helpers/job_add_id_job_add_skills.json +24 -0
  59. data/spec/fixtures/database/data/helpers/user_id_job_adds.json +9 -0
  60. data/spec/fixtures/database/data/helpers/user_id_profiles.json +8 -0
  61. data/spec/fixtures/database/data/table_names.json +10 -0
  62. data/spec/fixtures/database/table_names.json +4 -0
  63. data/spec/fixtures/development.sqlite3 +0 -0
  64. data/spec/fixtures/json_responses/transformed_row.json +7 -0
  65. data/spec/fixtures/json_row/row.json +6 -0
  66. data/spec/fixtures/settings/contentful_model.json +316 -0
  67. data/spec/fixtures/settings/contentful_structure.json +89 -0
  68. data/spec/fixtures/settings/contentful_structure_test.json +82 -0
  69. data/spec/fixtures/settings/mapping.json +119 -0
  70. data/spec/fixtures/settings/settings.yml +27 -0
  71. data/spec/lib/configuration_spec.rb +17 -0
  72. data/spec/lib/database/export_spec.rb +49 -0
  73. data/spec/lib/database/json_export_spec.rb +49 -0
  74. data/spec/lib/database/relations_export_spec.rb +201 -0
  75. data/spec/lib/migrator_spec.rb +112 -0
  76. data/spec/spec_helper.rb +12 -0
  77. data/spec/support/db_rows_json.rb +9 -0
  78. data/spec/support/shared_configuration.rb +27 -0
  79. metadata +358 -0
@@ -0,0 +1,112 @@
1
+ require 'spec_helper'
2
+ require './lib/migrator'
3
+
4
+ describe Migrator do
5
+
6
+ before do
7
+ @setting_file = YAML.load_file('spec/fixtures/settings/settings.yml')
8
+ end
9
+
10
+ it 'Fetching data from DB and mapping process' do
11
+ FileUtils.rm_rf('spec/fixtures/database/data')
12
+
13
+ # Extract data from database
14
+ Migrator.new(@setting_file).run('--extract-to-json')
15
+
16
+ expect(Dir.glob('spec/fixtures/database/data/entries/*').count).to eq 5
17
+ expect(Dir.glob('spec/fixtures/database/data/**/*').count).to eq 34
18
+
19
+ directory_names = %w(comment job_skills jobs profile user)
20
+ Dir.glob('spec/fixtures/database/data/entries/*') do |directory_name|
21
+ expect(directory_names.include?(File.basename(directory_name))).to be true
22
+ end
23
+
24
+ expect(load_fixture('database/data/entries/comment/comment_1')).to include(id: 'comment_1', subject: 'Title comment 1', content: 'Body comment 1', job_add_id: 1, database_id: 1)
25
+ expect(load_fixture('database/data/entries/job_skills/job_skills_1')).to include(id: 'job_skills_1', name: 'Commercial awareness', database_id: 1)
26
+ expect(load_fixture('database/data/entries/jobs/jobs_4')).to include(id: 'jobs_4', name: 'Awesome job', specification: 'One word - awesome!', image_id: 2, user_id: 2, database_id: 4)
27
+ expect(load_fixture('database/data/entries/profile/profile_1')).to include(id: 'profile_1', nickname: 'Nickname 1', user_id: 1)
28
+ expect(load_fixture('database/data/entries/user/user_1')).to include(id: 'user_1', first_name: 'FirstName', last_name: 'LastName', birthday: '2009-04-16T09:43:00+00:00', database_id: 1)
29
+
30
+ # Mapping
31
+ Migrator.new(@setting_file).run('--prepare-json')
32
+
33
+ expect(Dir.glob('spec/fixtures/database/data/**/*').count).to eq 39
34
+
35
+ user = load_fixture('database/data/entries/user/user_1')
36
+ expect(user['profile']).to be_a Hash
37
+ expect(user['profile']).to include(type: 'profile', id: 'profile_1')
38
+ expect(user['job_adds'].count).to eq 2
39
+ expect(user['job_adds']).to be_a Array
40
+ expect(user['job_adds'].first).to include(type: 'jobs', id: 'jobs_1')
41
+
42
+ profile = load_fixture('database/data/entries/profile/profile_1')
43
+ expect(profile['user']).to be_a Hash
44
+ expect(profile['user']).to include(type: 'Entry', id: 'user_1')
45
+
46
+ job = load_fixture('database/data/entries/jobs/jobs_1')
47
+ expect(job).to include first_name: 'FirstName'
48
+ expect(job['image']).to be_a Hash
49
+ expect(job['image']).to include(type: 'File', id: 'image_3')
50
+ expect(job['creator']).to be_a Hash
51
+ expect(job['creator']).to include(type: 'Entry', id: 'user_1')
52
+ expect(job['comments'].count).to eq 3
53
+ expect(job['comments']).to be_a Array
54
+ expect(job['comments'].first).to include(type: 'comment', id: 'comment_1')
55
+ expect(job['skills']).to be_a Array
56
+ expect(job['skills'].first).to include(type: 'job_skills', id: 'job_skills_1')
57
+ expect(job['subjects_comments']).to be_a Array
58
+ expect(job['subjects_comments']).to include('Title comment 1', 'Title comment 2', 'Title comment 3')
59
+ end
60
+
61
+ it 'list tables' do
62
+ Migrator.new(@setting_file).run('--list-tables')
63
+ tables = load_json('database/data/table_names')
64
+ expect(tables).to be_a Array
65
+ expect(tables.count).to eq 8
66
+ expect(tables).to include('schema_migrations', 'skills', 'job_adds', 'comments', 'images', 'job_add_skills', 'users', 'profiles')
67
+ end
68
+
69
+ it 'convert contentful model to contentful structure' do
70
+ Migrator.new(@setting_file).run('--convert-content-model-to-json')
71
+ contentful_structure = load_fixture('settings/contentful_structure_test')
72
+ expect(contentful_structure.count).to eq 5
73
+ expect(contentful_structure['Jobs']).to include(id: '4L1bg4WQ5aWQMiE82ouag', name: 'Jobs', displayField: 'title', description: nil)
74
+ expect(contentful_structure['Jobs']['fields'].count).to eq 5
75
+ expect(contentful_structure['Jobs']['fields']['Image']).to include(id: 'image', type: 'Asset', link: 'Link')
76
+ expect(contentful_structure['Jobs']['fields']['Creator']).to include(id: 'creator', type: 'Entry', link: 'Link')
77
+ expect(contentful_structure['Jobs']['fields']['Comments']).to include(id: 'comments', type: 'Array', link_type: 'Entry', link: 'Link')
78
+ end
79
+
80
+ it 'create content type json files from contentful structure' do
81
+ Migrator.new(@setting_file).run('--create-content-model-from-json')
82
+ expect(Dir.glob('spec/fixtures/database/data/collections/*').count).to eq 5
83
+ content_types_files = %w(comment.json job_skills.json jobs.json profile.json user.json)
84
+ Dir.glob('spec/fixtures/database/data/collections/*') do |directory_name|
85
+ expect(content_types_files.include?(File.basename(directory_name))).to be true
86
+ end
87
+ comment = load_fixture('database/data/collections/comment')
88
+ expect(comment).to include(id: '6H6pGAV1PUsuoAW26Iu48W', name: 'Comment', displayField: 'subject')
89
+ expect(comment['fields'].count).to eq 2
90
+ expect(comment['fields'].first).to include(id: 'subject', name: 'Subject', type: 'Text')
91
+
92
+ job_skills = load_fixture('database/data/collections/job_skills')
93
+ expect(job_skills).to include(id: '2soCP557HGKoOOK0SqmMOm', name: 'Job Skills', displayField: 'name')
94
+ expect(job_skills['fields'].count).to eq 1
95
+ expect(job_skills['fields'].first).to include(id: 'name', name: 'Name', type: 'Text')
96
+
97
+ jobs = load_fixture('database/data/collections/jobs')
98
+ expect(jobs).to include(id: '4L1bg4WQ5aWQMiE82ouag', name: 'Jobs', displayField: 'title')
99
+ expect(jobs['fields'].count).to eq 6
100
+ expect(jobs['fields'].last).to include(id: 'skills', name: 'Skills', type: 'Array', link_type: 'Entry', link: 'Link')
101
+
102
+ profile = load_fixture('database/data/collections/profile')
103
+ expect(profile).to include(id: '4WFZh4MwC4Mc0EQWAeOY8A', name: 'Profile', displayField: nil)
104
+ expect(profile['fields'].count).to eq 2
105
+ expect(profile['fields'].first).to include(id: 'nickname', name: 'Nickname', type: 'Text')
106
+
107
+ user = load_fixture('database/data/collections/user')
108
+ expect(user).to include(id: '1TVvxCqoRq0qUYAOQuOqys', name: 'User', displayField: 'first_name')
109
+ expect(user['fields'].first).to include(id: 'first_name', name: 'First_name', type: 'Text')
110
+ end
111
+
112
+ end
@@ -0,0 +1,12 @@
1
+ require 'simplecov'
2
+ SimpleCov.start 'rails'
3
+
4
+ require 'bundler/setup'
5
+ Bundler.setup
6
+
7
+ require 'rspec'
8
+ require 'rspec/its'
9
+ require 'yaml'
10
+ require 'json'
11
+
12
+ Dir[File.dirname(__FILE__) + '/support/*.rb'].each { |f| require f }
@@ -0,0 +1,9 @@
1
+ require 'multi_json'
2
+
3
+ def load_fixture(file, _as_json = false)
4
+ JSON.parse(File.read(File.dirname(__FILE__) + "/../fixtures/#{file}.json")).with_indifferent_access
5
+ end
6
+
7
+ def load_json(file, _as_json = false)
8
+ JSON.parse(File.read(File.dirname(__FILE__) + "/../fixtures/#{file}.json"))
9
+ end
@@ -0,0 +1,27 @@
1
+ require './lib/configuration'
2
+
3
+ shared_context 'shared_configuration', :a => :b do
4
+ before do
5
+ yaml_text = <<-EOF
6
+ data_dir: spec/fixtures/database/data
7
+ adapter: mysql2
8
+ host: localhost
9
+ database: database_name
10
+ user: username
11
+ password: secret_password
12
+
13
+ mapped:
14
+ tables:
15
+ - :example_model_name
16
+ - :example_model_name_two
17
+
18
+ mapping_dir: spec/fixtures/settings/mapping.json
19
+ contentful_structure_dir: spec/fixtures/settings/contentful_structure.json
20
+
21
+ content_model_json: spec/fixtures/settings/contentful_model.json
22
+ converted_model_dir: spec/fixtures/settings/contentful_structure.json
23
+ EOF
24
+ yaml = YAML.load(yaml_text)
25
+ @config = Contentful::Configuration.new(yaml)
26
+ end
27
+ end
metadata ADDED
@@ -0,0 +1,358 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: database-exporter
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Contentful GmbH (Andreas Tiefenthaler)
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-01-28 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: http
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.6'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.6'
27
+ - !ruby/object:Gem::Dependency
28
+ name: multi_json
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: sequel
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '4.15'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '4.15'
55
+ - !ruby/object:Gem::Dependency
56
+ name: mysql2
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.3'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.3'
69
+ - !ruby/object:Gem::Dependency
70
+ name: activesupport
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '4.1'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '4.1'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pg
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.17.0
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 0.17.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: escort
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 0.4.0
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 0.4.0
111
+ - !ruby/object:Gem::Dependency
112
+ name: i18n
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '0.6'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '0.6'
125
+ - !ruby/object:Gem::Dependency
126
+ name: sqlite3
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 1.3.10
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 1.3.10
139
+ - !ruby/object:Gem::Dependency
140
+ name: rspec
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '3'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '3'
153
+ - !ruby/object:Gem::Dependency
154
+ name: rspec-its
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 1.1.0
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: 1.1.0
167
+ - !ruby/object:Gem::Dependency
168
+ name: bundler
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '1.6'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '1.6'
181
+ - !ruby/object:Gem::Dependency
182
+ name: rake
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ description: Database exporter that prepares content to be imported
196
+ email:
197
+ - rubygems@contentful.com
198
+ executables:
199
+ - database-exporter
200
+ extensions: []
201
+ extra_rdoc_files: []
202
+ files:
203
+ - ".gitignore"
204
+ - ".travis.yml"
205
+ - CHANGELOG.md
206
+ - Gemfile
207
+ - Gemfile.lock
208
+ - LICENSE
209
+ - README.md
210
+ - Rakefile
211
+ - bin/database-exporter
212
+ - database_exporter.gemspec
213
+ - example_data/contentful_model.json
214
+ - example_data/contentful_structure.json
215
+ - example_data/example_settings.yml
216
+ - example_data/mapping.json
217
+ - lib/cli.rb
218
+ - lib/configuration.rb
219
+ - lib/converters/content_types_structure_creator.rb
220
+ - lib/converters/contentful_model_to_json.rb
221
+ - lib/database/export.rb
222
+ - lib/database/modules/json_export.rb
223
+ - lib/database/modules/relations_export.rb
224
+ - lib/database/modules/utils.rb
225
+ - lib/migrator.rb
226
+ - lib/version.rb
227
+ - spec/fixtures/database/data/assets/image/image_1.json
228
+ - spec/fixtures/database/data/assets/image/image_2.json
229
+ - spec/fixtures/database/data/assets/image/image_3.json
230
+ - spec/fixtures/database/data/assets/image/image_4.json
231
+ - spec/fixtures/database/data/collections/comment.json
232
+ - spec/fixtures/database/data/collections/job_skills.json
233
+ - spec/fixtures/database/data/collections/jobs.json
234
+ - spec/fixtures/database/data/collections/profile.json
235
+ - spec/fixtures/database/data/collections/user.json
236
+ - spec/fixtures/database/data/entries/comment/comment_1.json
237
+ - spec/fixtures/database/data/entries/comment/comment_2.json
238
+ - spec/fixtures/database/data/entries/comment/comment_3.json
239
+ - spec/fixtures/database/data/entries/comment/comment_4.json
240
+ - spec/fixtures/database/data/entries/comment/comment_5.json
241
+ - spec/fixtures/database/data/entries/job_skills/job_skills_1.json
242
+ - spec/fixtures/database/data/entries/job_skills/job_skills_10.json
243
+ - spec/fixtures/database/data/entries/job_skills/job_skills_2.json
244
+ - spec/fixtures/database/data/entries/job_skills/job_skills_3.json
245
+ - spec/fixtures/database/data/entries/job_skills/job_skills_4.json
246
+ - spec/fixtures/database/data/entries/job_skills/job_skills_5.json
247
+ - spec/fixtures/database/data/entries/job_skills/job_skills_6.json
248
+ - spec/fixtures/database/data/entries/job_skills/job_skills_7.json
249
+ - spec/fixtures/database/data/entries/job_skills/job_skills_8.json
250
+ - spec/fixtures/database/data/entries/job_skills/job_skills_9.json
251
+ - spec/fixtures/database/data/entries/jobs/jobs_1.json
252
+ - spec/fixtures/database/data/entries/jobs/jobs_2.json
253
+ - spec/fixtures/database/data/entries/jobs/jobs_4.json
254
+ - spec/fixtures/database/data/entries/profile/profile_1.json
255
+ - spec/fixtures/database/data/entries/profile/profile_2.json
256
+ - spec/fixtures/database/data/entries/user/user_1.json
257
+ - spec/fixtures/database/data/entries/user/user_2.json
258
+ - spec/fixtures/database/data/helpers/job_add_id_comments.json
259
+ - spec/fixtures/database/data/helpers/job_add_id_job_add_skills.json
260
+ - spec/fixtures/database/data/helpers/user_id_job_adds.json
261
+ - spec/fixtures/database/data/helpers/user_id_profiles.json
262
+ - spec/fixtures/database/data/table_names.json
263
+ - spec/fixtures/database/table_names.json
264
+ - spec/fixtures/development.sqlite3
265
+ - spec/fixtures/json_responses/transformed_row.json
266
+ - spec/fixtures/json_row/row.json
267
+ - spec/fixtures/settings/contentful_model.json
268
+ - spec/fixtures/settings/contentful_structure.json
269
+ - spec/fixtures/settings/contentful_structure_test.json
270
+ - spec/fixtures/settings/mapping.json
271
+ - spec/fixtures/settings/settings.yml
272
+ - spec/lib/configuration_spec.rb
273
+ - spec/lib/database/export_spec.rb
274
+ - spec/lib/database/json_export_spec.rb
275
+ - spec/lib/database/relations_export_spec.rb
276
+ - spec/lib/migrator_spec.rb
277
+ - spec/spec_helper.rb
278
+ - spec/support/db_rows_json.rb
279
+ - spec/support/shared_configuration.rb
280
+ homepage: https://github.com/contentful/database-adapter.rb
281
+ licenses:
282
+ - MIT
283
+ metadata: {}
284
+ post_install_message:
285
+ rdoc_options: []
286
+ require_paths:
287
+ - lib
288
+ required_ruby_version: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ version: '0'
293
+ required_rubygems_version: !ruby/object:Gem::Requirement
294
+ requirements:
295
+ - - ">="
296
+ - !ruby/object:Gem::Version
297
+ version: '0'
298
+ requirements: []
299
+ rubyforge_project:
300
+ rubygems_version: 2.2.2
301
+ signing_key:
302
+ specification_version: 4
303
+ summary: Exporter for SQL based databases
304
+ test_files:
305
+ - spec/fixtures/database/data/assets/image/image_1.json
306
+ - spec/fixtures/database/data/assets/image/image_2.json
307
+ - spec/fixtures/database/data/assets/image/image_3.json
308
+ - spec/fixtures/database/data/assets/image/image_4.json
309
+ - spec/fixtures/database/data/collections/comment.json
310
+ - spec/fixtures/database/data/collections/job_skills.json
311
+ - spec/fixtures/database/data/collections/jobs.json
312
+ - spec/fixtures/database/data/collections/profile.json
313
+ - spec/fixtures/database/data/collections/user.json
314
+ - spec/fixtures/database/data/entries/comment/comment_1.json
315
+ - spec/fixtures/database/data/entries/comment/comment_2.json
316
+ - spec/fixtures/database/data/entries/comment/comment_3.json
317
+ - spec/fixtures/database/data/entries/comment/comment_4.json
318
+ - spec/fixtures/database/data/entries/comment/comment_5.json
319
+ - spec/fixtures/database/data/entries/job_skills/job_skills_1.json
320
+ - spec/fixtures/database/data/entries/job_skills/job_skills_10.json
321
+ - spec/fixtures/database/data/entries/job_skills/job_skills_2.json
322
+ - spec/fixtures/database/data/entries/job_skills/job_skills_3.json
323
+ - spec/fixtures/database/data/entries/job_skills/job_skills_4.json
324
+ - spec/fixtures/database/data/entries/job_skills/job_skills_5.json
325
+ - spec/fixtures/database/data/entries/job_skills/job_skills_6.json
326
+ - spec/fixtures/database/data/entries/job_skills/job_skills_7.json
327
+ - spec/fixtures/database/data/entries/job_skills/job_skills_8.json
328
+ - spec/fixtures/database/data/entries/job_skills/job_skills_9.json
329
+ - spec/fixtures/database/data/entries/jobs/jobs_1.json
330
+ - spec/fixtures/database/data/entries/jobs/jobs_2.json
331
+ - spec/fixtures/database/data/entries/jobs/jobs_4.json
332
+ - spec/fixtures/database/data/entries/profile/profile_1.json
333
+ - spec/fixtures/database/data/entries/profile/profile_2.json
334
+ - spec/fixtures/database/data/entries/user/user_1.json
335
+ - spec/fixtures/database/data/entries/user/user_2.json
336
+ - spec/fixtures/database/data/helpers/job_add_id_comments.json
337
+ - spec/fixtures/database/data/helpers/job_add_id_job_add_skills.json
338
+ - spec/fixtures/database/data/helpers/user_id_job_adds.json
339
+ - spec/fixtures/database/data/helpers/user_id_profiles.json
340
+ - spec/fixtures/database/data/table_names.json
341
+ - spec/fixtures/database/table_names.json
342
+ - spec/fixtures/development.sqlite3
343
+ - spec/fixtures/json_responses/transformed_row.json
344
+ - spec/fixtures/json_row/row.json
345
+ - spec/fixtures/settings/contentful_model.json
346
+ - spec/fixtures/settings/contentful_structure.json
347
+ - spec/fixtures/settings/contentful_structure_test.json
348
+ - spec/fixtures/settings/mapping.json
349
+ - spec/fixtures/settings/settings.yml
350
+ - spec/lib/configuration_spec.rb
351
+ - spec/lib/database/export_spec.rb
352
+ - spec/lib/database/json_export_spec.rb
353
+ - spec/lib/database/relations_export_spec.rb
354
+ - spec/lib/migrator_spec.rb
355
+ - spec/spec_helper.rb
356
+ - spec/support/db_rows_json.rb
357
+ - spec/support/shared_configuration.rb
358
+ has_rdoc: