data_migrate 8.2.0 → 9.1.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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build.yml +34 -0
  3. data/.github/workflows/gempush.yml +6 -7
  4. data/.gitignore +3 -1
  5. data/Appraisals +0 -4
  6. data/Changelog.md +52 -0
  7. data/README.md +10 -7
  8. data/data_migrate.gemspec +1 -10
  9. data/lib/data_migrate/config.rb +10 -1
  10. data/lib/data_migrate/{data_migrator_five.rb → data_migrator.rb} +1 -12
  11. data/lib/data_migrate/data_schema.rb +1 -1
  12. data/lib/data_migrate/data_schema_migration.rb +1 -1
  13. data/lib/data_migrate/database_tasks.rb +61 -67
  14. data/lib/data_migrate/{schema_migration_six.rb → schema_migration.rb} +4 -2
  15. data/lib/data_migrate/{status_service_five.rb → status_service.rb} +12 -6
  16. data/lib/data_migrate/tasks/data_migrate_tasks.rb +15 -36
  17. data/lib/data_migrate/version.rb +1 -1
  18. data/lib/data_migrate.rb +6 -8
  19. data/lib/generators/data_migrate.rb +15 -2
  20. data/lib/generators/data_migration/data_migration_generator.rb +5 -1
  21. data/spec/data_migrate/config_spec.rb +48 -6
  22. data/spec/data_migrate/data_migrator_spec.rb +13 -34
  23. data/spec/data_migrate/data_spec.rb +0 -11
  24. data/spec/data_migrate/database_tasks_spec.rb +10 -59
  25. data/spec/data_migrate/legacy_migrator_spec.rb +6 -18
  26. data/spec/data_migrate/migration.rb +11 -13
  27. data/spec/data_migrate/migration_context_spec.rb +11 -37
  28. data/spec/data_migrate/schema_dumper_spec.rb +10 -23
  29. data/spec/data_migrate/schema_migration_spec.rb +40 -42
  30. data/spec/data_migrate/status_service_spec.rb +26 -55
  31. data/spec/data_migrate/tasks/data_migrate_tasks_spec.rb +31 -66
  32. data/spec/db/data/20091231235959_some_name.rb +1 -1
  33. data/spec/db/data/20171231235959_super_update.rb +1 -1
  34. data/spec/generators/data_migration/data_migration_generator_spec.rb +47 -6
  35. data/spec/spec_helper.rb +2 -8
  36. data/tasks/databases.rake +37 -85
  37. metadata +14 -31
  38. data/.ruby-version +0 -1
  39. data/.travis.yml +0 -14
  40. data/Gemfile.rails5.2 +0 -10
  41. data/gemfiles/rails_5.2.gemfile +0 -8
  42. data/lib/data_migrate/schema_migration_five.rb +0 -31
  43. data/spec/db/6.0/20091231235959_some_name.rb +0 -9
  44. data/spec/db/6.0/20171231235959_super_update.rb +0 -9
  45. data/spec/db/data-6.0/20091231235959_some_name.rb +0 -9
  46. data/spec/db/data-6.0/20171231235959_super_update.rb +0 -9
  47. data/spec/db/data-6.0/20181128000207_excluded_file.rb.other_ext +0 -1
  48. data/spec/db/migrate/5.2/20131111111111_late_migration.rb +0 -9
  49. data/spec/db/migrate/5.2/20202020202011_db_migration.rb +0 -9
  50. /data/spec/db/migrate/{6.0/20131111111111_late_migration.rb → 20131111111111_late_migration.rb} +0 -0
  51. /data/spec/db/migrate/{6.0/20202020202011_db_migration.rb → 20202020202011_db_migration.rb} +0 -0
data/tasks/databases.rake CHANGED
@@ -1,32 +1,34 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'data_migrate/tasks/data_migrate_tasks'
2
4
 
3
5
  namespace :db do
4
6
  namespace :migrate do
5
7
  desc "Migrate the database data and schema (options: VERSION=x, VERBOSE=false)."
6
8
  task :with_data => :environment do
7
- assure_data_schema_table
9
+ DataMigrate::DataMigrator.create_data_schema_table
8
10
 
9
11
  ActiveRecord::Migration.verbose = ENV["VERBOSE"] ? ENV["VERBOSE"] == "true" : true
10
12
  target_version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
11
13
  migrations = []
12
14
 
13
15
  if target_version.nil?
14
- migrations = pending_migrations.map{ |m| m.merge(:direction =>:up) }
16
+ migrations = DataMigrate::DatabaseTasks.pending_migrations.map{ |m| m.merge(:direction =>:up) }
15
17
  else
16
18
  current_schema_version = ActiveRecord::Migrator.current_version
17
19
  schema_migrations = if target_version > current_schema_version
18
- pending_schema_migrations.keep_if{ |m| m[:version] <= target_version }.map{ |m| m.merge(:direction =>:up) }
20
+ DataMigrate::DatabaseTasks.pending_schema_migrations.keep_if{ |m| m[:version] <= target_version }.map{ |m| m.merge(:direction =>:up) }
19
21
  elsif target_version < current_schema_version
20
- past_migrations.keep_if{ |m| m[:version] > target_version }.map{ |m| m.merge(:direction =>:down) }
22
+ DataMigrate::DatabaseTasks.past_migrations.keep_if{ |m| m[:version] > target_version }.map{ |m| m.merge(:direction =>:down) }
21
23
  else # ==
22
24
  []
23
25
  end
24
26
 
25
- current_data_version = ActiveRecord::Migrator.current_version
27
+ current_data_version = DataMigrate::DataMigrator.current_version
26
28
  data_migrations = if target_version > current_data_version
27
- pending_data_migrations.keep_if{ |m| m[:version] <= target_version }.map{ |m| m.merge(:direction =>:up) }
29
+ DataMigrate::DatabaseTasks.pending_data_migrations.keep_if{ |m| m[:version] <= target_version }.map{ |m| m.merge(:direction =>:up) }
28
30
  elsif target_version < current_data_version
29
- past_migrations.keep_if{ |m| m[:version] > target_version }.map{ |m| m.merge(:direction =>:down) }
31
+ DataMigrate::DatabaseTasks.past_migrations.keep_if{ |m| m[:version] > target_version }.map{ |m| m.merge(:direction =>:down) }
30
32
  else # ==
31
33
  []
32
34
  end
@@ -35,9 +37,9 @@ namespace :db do
35
37
  elsif data_migrations.empty?
36
38
  schema_migrations
37
39
  elsif target_version > current_data_version && target_version > current_schema_version
38
- sort_migrations data_migrations, schema_migrations
40
+ DataMigrate::DatabaseTasks.sort_migrations data_migrations, schema_migrations
39
41
  elsif target_version < current_data_version && target_version < current_schema_version
40
- sort_migrations(data_migrations, schema_migrations).reverse
42
+ DataMigrate::DatabaseTasks.sort_migrations(data_migrations, schema_migrations).reverse
41
43
  elsif target_version > current_data_version && target_version < current_schema_version
42
44
  schema_migrations + data_migrations
43
45
  elsif target_version < current_data_version && target_version > current_schema_version
@@ -46,7 +48,7 @@ namespace :db do
46
48
  end
47
49
 
48
50
  migrations.each do |migration|
49
- run_migration(migration, migration[:direction])
51
+ DataMigrate::DatabaseTasks.run_migration(migration, migration[:direction])
50
52
  end
51
53
 
52
54
  Rake::Task["db:_dump"].invoke
@@ -56,7 +58,7 @@ namespace :db do
56
58
  namespace :redo do
57
59
  desc 'Rollbacks the database one migration and re migrate up (options: STEP=x, VERSION=x).'
58
60
  task :with_data => :environment do
59
- assure_data_schema_table
61
+ DataMigrate::DataMigrator.create_data_schema_table
60
62
  if ENV["VERSION"]
61
63
  Rake::Task["db:migrate:down:with_data"].invoke
62
64
  Rake::Task["db:migrate:up:with_data"].invoke
@@ -72,16 +74,16 @@ namespace :db do
72
74
  task :with_data => :environment do
73
75
  version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
74
76
  raise "VERSION is required" unless version
75
- assure_data_schema_table
77
+ DataMigrate::DataMigrator.create_data_schema_table
76
78
  run_both = ENV["BOTH"] == "true"
77
- migrations = pending_migrations.keep_if{|m| m[:version] == version}
79
+ migrations = DataMigrate::DatabaseTasks.pending_migrations.keep_if{|m| m[:version] == version}
78
80
 
79
81
  unless run_both || migrations.size < 2
80
82
  migrations = migrations.slice(0,1)
81
83
  end
82
84
 
83
85
  migrations.each do |migration|
84
- run_migration(migration, :up)
86
+ DataMigrate::DatabaseTasks.run_migration(migration, :up)
85
87
  end
86
88
 
87
89
  Rake::Task["db:_dump"].invoke
@@ -94,16 +96,16 @@ namespace :db do
94
96
  task :with_data => :environment do
95
97
  version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
96
98
  raise "VERSION is required" unless version
97
- assure_data_schema_table
99
+ DataMigrate::DataMigrator.create_data_schema_table
98
100
  run_both = ENV["BOTH"] == "true"
99
- migrations = past_migrations.keep_if{|m| m[:version] == version}
101
+ migrations = DataMigrate::DatabaseTasks.past_migrations.keep_if{|m| m[:version] == version}
100
102
 
101
103
  unless run_both || migrations.size < 2
102
104
  migrations = migrations.slice(0,1)
103
105
  end
104
106
 
105
107
  migrations.each do |migration|
106
- run_migration(migration, :down)
108
+ DataMigrate::DatabaseTasks.run_migration(migration, :down)
107
109
  end
108
110
 
109
111
  Rake::Task["db:_dump"].invoke
@@ -123,9 +125,9 @@ namespace :db do
123
125
  desc 'Rolls the schema back to the previous version (specify steps w/ STEP=n).'
124
126
  task :with_data => :environment do
125
127
  step = ENV['STEP'] ? ENV['STEP'].to_i : 1
126
- assure_data_schema_table
127
- past_migrations[0..(step - 1)].each do | past_migration |
128
- run_migration(past_migration, :down)
128
+ DataMigrate::DataMigrator.create_data_schema_table
129
+ DataMigrate::DatabaseTasks.past_migrations[0..(step - 1)].each do | past_migration |
130
+ DataMigrate::DatabaseTasks.run_migration(past_migration, :down)
129
131
  end
130
132
 
131
133
  Rake::Task["db:_dump"].invoke
@@ -136,7 +138,7 @@ namespace :db do
136
138
  namespace :forward do
137
139
  desc 'Pushes the schema to the next version (specify steps w/ STEP=n).'
138
140
  task :with_data => :environment do
139
- assure_data_schema_table
141
+ DataMigrate::DataMigrator.create_data_schema_table
140
142
  step = ENV['STEP'] ? ENV['STEP'].to_i : 1
141
143
  DataMigrate::DatabaseTasks.forward(step)
142
144
  Rake::Task["db:_dump"].invoke
@@ -147,7 +149,7 @@ namespace :db do
147
149
  namespace :version do
148
150
  desc "Retrieves the current schema version numbers for data and schema migrations"
149
151
  task :with_data => :environment do
150
- assure_data_schema_table
152
+ DataMigrate::DataMigrator.create_data_schema_table
151
153
  puts "Current Schema version: #{ActiveRecord::Migrator.current_version}"
152
154
  puts "Current Data version: #{DataMigrate::DataMigrator.current_version}"
153
155
  end
@@ -157,7 +159,7 @@ namespace :db do
157
159
  desc "Raises an error if there are pending migrations or data migrations"
158
160
  task with_data: :environment do
159
161
  message = %{Run `rake db:migrate:with_data` to update your database then try again.}
160
- DataMigrate::Tasks::DataMigrateTasks.abort_if_pending_migrations(pending_migrations, message)
162
+ DataMigrate::Tasks::DataMigrateTasks.abort_if_pending_migrations(DataMigrate::DatabaseTasks.pending_migrations, message)
161
163
  end
162
164
  end
163
165
 
@@ -200,7 +202,7 @@ namespace :data do
200
202
  namespace :migrate do
201
203
  desc 'Rollbacks the database one migration and re migrate up (options: STEP=x, VERSION=x).'
202
204
  task :redo => :environment do
203
- assure_data_schema_table
205
+ DataMigrate::DataMigrator.create_data_schema_table
204
206
  if ENV["VERSION"]
205
207
  Rake::Task["data:migrate:down"].invoke
206
208
  Rake::Task["data:migrate:up"].invoke
@@ -212,10 +214,10 @@ namespace :data do
212
214
 
213
215
  desc 'Runs the "up" for a given migration VERSION.'
214
216
  task :up => :environment do
215
- assure_data_schema_table
217
+ DataMigrate::DataMigrator.create_data_schema_table
216
218
  version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
217
219
  raise "VERSION is required" unless version
218
- DataMigrate::DataMigrator.run(:up, data_migrations_path, version)
220
+ DataMigrate::DataMigrator.run(:up, DataMigrate::DatabaseTasks.data_migrations_path, version)
219
221
  Rake::Task["data:dump"].invoke
220
222
  end
221
223
 
@@ -223,8 +225,8 @@ namespace :data do
223
225
  task :down => :environment do
224
226
  version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
225
227
  raise "VERSION is required" unless version
226
- assure_data_schema_table
227
- DataMigrate::DataMigrator.run(:down, data_migrations_path, version)
228
+ DataMigrate::DataMigrator.create_data_schema_table
229
+ DataMigrate::DataMigrator.run(:down, DataMigrate::DatabaseTasks.data_migrations_path, version)
228
230
  Rake::Task["data:dump"].invoke
229
231
  end
230
232
 
@@ -236,35 +238,35 @@ namespace :data do
236
238
 
237
239
  desc 'Rolls the schema back to the previous version (specify steps w/ STEP=n).'
238
240
  task :rollback => :environment do
239
- assure_data_schema_table
241
+ DataMigrate::DataMigrator.create_data_schema_table
240
242
  step = ENV['STEP'] ? ENV['STEP'].to_i : 1
241
- DataMigrate::DataMigrator.rollback(data_migrations_path, step)
243
+ DataMigrate::DataMigrator.rollback(DataMigrate::DatabaseTasks.data_migrations_path, step)
242
244
  Rake::Task["data:dump"].invoke
243
245
  end
244
246
 
245
247
  desc 'Pushes the schema to the next version (specify steps w/ STEP=n).'
246
248
  task :forward => :environment do
247
- assure_data_schema_table
249
+ DataMigrate::DataMigrator.create_data_schema_table
248
250
  step = ENV['STEP'] ? ENV['STEP'].to_i : 1
249
251
  # TODO: No worky for .forward
250
252
  # DataMigrate::DataMigrator.forward('db/data/', step)
251
- migrations = pending_data_migrations.reverse.pop(step).reverse
253
+ migrations = DataMigrate::DatabaseTasks.pending_data_migrations.reverse.pop(step).reverse
252
254
  migrations.each do | pending_migration |
253
- DataMigrate::DataMigrator.run(:up, data_migrations_path, pending_migration[:version])
255
+ DataMigrate::DataMigrator.run(:up, DataMigrate::DatabaseTasks.data_migrations_path, pending_migration[:version])
254
256
  end
255
257
  Rake::Task["data:dump"].invoke
256
258
  end
257
259
 
258
260
  desc "Retrieves the current schema version number for data migrations"
259
261
  task :version => :environment do
260
- assure_data_schema_table
262
+ DataMigrate::DataMigrator.create_data_schema_table
261
263
  puts "Current data version: #{DataMigrate::DataMigrator.current_version}"
262
264
  end
263
265
 
264
266
  desc "Raises an error if there are pending data migrations"
265
267
  task abort_if_pending_migrations: :environment do
266
268
  message = %{Run `rake data:migrate` to update your database then try again.}
267
- DataMigrate::Tasks::DataMigrateTasks.abort_if_pending_migrations(pending_data_migrations, message)
269
+ DataMigrate::Tasks::DataMigrateTasks.abort_if_pending_migrations(DataMigrate::DatabaseTasks.pending_data_migrations, message)
268
270
  end
269
271
 
270
272
  desc "Create a db/data_schema.rb file that stores the current data version"
@@ -287,53 +289,3 @@ namespace :data do
287
289
  end
288
290
  end
289
291
  end
290
-
291
- def pending_migrations
292
- DataMigrate::DatabaseTasks.sort_migrations(
293
- DataMigrate::DatabaseTasks.pending_schema_migrations,
294
- DataMigrate::DatabaseTasks.pending_data_migrations
295
- )
296
- end
297
-
298
- def pending_data_migrations
299
- DataMigrate::DatabaseTasks.pending_data_migrations
300
- end
301
-
302
- def pending_schema_migrations
303
- DataMigrate::DatabaseTasks.pending_schema_migrations
304
- end
305
-
306
- def sort_migrations set_1, set_2=nil
307
- migrations = set_1 + (set_2 || [])
308
- migrations.sort{|a,b| sort_string(a) <=> sort_string(b)}
309
- end
310
-
311
- def sort_string migration
312
- "#{migration[:version]}_#{migration[:kind] == :data ? 1 : 0}"
313
- end
314
-
315
- def past_migrations(sort=nil)
316
- DataMigrate::DatabaseTasks.past_migrations(sort)
317
- end
318
-
319
- def assure_data_schema_table
320
- DataMigrate::DataMigrator.assure_data_schema_table
321
- end
322
-
323
- def data_migrations_path
324
- DataMigrate.config.data_migrations_path
325
- end
326
-
327
- def run_migration(migration, direction)
328
- if migration[:kind] == :data
329
- ActiveRecord::Migration.write("== %s %s" % ['Data', "=" * 71])
330
- DataMigrate::DataMigrator.run(direction, data_migrations_path, migration[:version])
331
- else
332
- ActiveRecord::Migration.write("== %s %s" % ['Schema', "=" * 69])
333
- DataMigrate::SchemaMigration.run(
334
- direction,
335
- DataMigrate::SchemaMigration.migrations_paths,
336
- migration[:version]
337
- )
338
- end
339
- end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: data_migrate
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.2.0
4
+ version: 9.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew J Vargo
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2022-10-24 00:00:00.000000000 Z
13
+ date: 2023-08-02 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activerecord
@@ -18,28 +18,28 @@ dependencies:
18
18
  requirements:
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: '5.0'
21
+ version: '6.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
- version: '5.0'
28
+ version: '6.0'
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: railties
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - ">="
34
34
  - !ruby/object:Gem::Version
35
- version: '5.0'
35
+ version: '6.0'
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - ">="
41
41
  - !ruby/object:Gem::Version
42
- version: '5.0'
42
+ version: '6.0'
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: appraisal
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -189,6 +189,7 @@ executables: []
189
189
  extensions: []
190
190
  extra_rdoc_files: []
191
191
  files:
192
+ - ".github/workflows/build.yml"
192
193
  - ".github/workflows/gempush.yml"
193
194
  - ".gitignore"
194
195
  - ".hound.yml"
@@ -197,18 +198,14 @@ files:
197
198
  - ".rspec"
198
199
  - ".rubocop.yml"
199
200
  - ".ruby-style.yml"
200
- - ".ruby-version"
201
- - ".travis.yml"
202
201
  - Appraisals
203
202
  - Changelog.md
204
203
  - Gemfile
205
- - Gemfile.rails5.2
206
204
  - Gemfile.rails6.1
207
205
  - LICENSE
208
206
  - README.md
209
207
  - Rakefile
210
208
  - data_migrate.gemspec
211
- - gemfiles/rails_5.2.gemfile
212
209
  - gemfiles/rails_6.0.gemfile
213
210
  - gemfiles/rails_6.1.gemfile
214
211
  - gemfiles/rails_7.0.gemfile
@@ -216,7 +213,7 @@ files:
216
213
  - lib/capistrano/data_migrate/migrate.rb
217
214
  - lib/data_migrate.rb
218
215
  - lib/data_migrate/config.rb
219
- - lib/data_migrate/data_migrator_five.rb
216
+ - lib/data_migrate/data_migrator.rb
220
217
  - lib/data_migrate/data_schema.rb
221
218
  - lib/data_migrate/data_schema_migration.rb
222
219
  - lib/data_migrate/database_tasks.rb
@@ -224,9 +221,8 @@ files:
224
221
  - lib/data_migrate/migration_context.rb
225
222
  - lib/data_migrate/railtie.rb
226
223
  - lib/data_migrate/schema_dumper.rb
227
- - lib/data_migrate/schema_migration_five.rb
228
- - lib/data_migrate/schema_migration_six.rb
229
- - lib/data_migrate/status_service_five.rb
224
+ - lib/data_migrate/schema_migration.rb
225
+ - lib/data_migrate/status_service.rb
230
226
  - lib/data_migrate/tasks/data_migrate_tasks.rb
231
227
  - lib/data_migrate/version.rb
232
228
  - lib/generators/data_migrate.rb
@@ -246,11 +242,6 @@ files:
246
242
  - spec/data_migrate/schema_migration_spec.rb
247
243
  - spec/data_migrate/status_service_spec.rb
248
244
  - spec/data_migrate/tasks/data_migrate_tasks_spec.rb
249
- - spec/db/6.0/20091231235959_some_name.rb
250
- - spec/db/6.0/20171231235959_super_update.rb
251
- - spec/db/data-6.0/20091231235959_some_name.rb
252
- - spec/db/data-6.0/20171231235959_super_update.rb
253
- - spec/db/data-6.0/20181128000207_excluded_file.rb.other_ext
254
245
  - spec/db/data/20091231235959_some_name.rb
255
246
  - spec/db/data/20171231235959_super_update.rb
256
247
  - spec/db/data/20181128000207_excluded_file.rb.other_ext
@@ -258,10 +249,8 @@ files:
258
249
  - spec/db/data/partial_schema/test_data_schema.rb
259
250
  - spec/db/data/schema/data_schema.rb
260
251
  - spec/db/data/schema/test_data_schema.rb
261
- - spec/db/migrate/5.2/20131111111111_late_migration.rb
262
- - spec/db/migrate/5.2/20202020202011_db_migration.rb
263
- - spec/db/migrate/6.0/20131111111111_late_migration.rb
264
- - spec/db/migrate/6.0/20202020202011_db_migration.rb
252
+ - spec/db/migrate/20131111111111_late_migration.rb
253
+ - spec/db/migrate/20202020202011_db_migration.rb
265
254
  - spec/generators/data_migration/data_migration_generator_spec.rb
266
255
  - spec/spec_helper.rb
267
256
  - tasks/.gitkeep
@@ -270,13 +259,7 @@ homepage: https://github.com/ilyakatz/data-migrate
270
259
  licenses:
271
260
  - MIT
272
261
  metadata: {}
273
- post_install_message: |
274
- ********************************************************************************
275
- data-migrate: IMPORTANT: Breaking change introduced for migrations from v2.
276
-
277
- Failure to run the migration can have serious consequences.
278
- See Readme for more info.
279
- ********************************************************************************
262
+ post_install_message:
280
263
  rdoc_options: []
281
264
  require_paths:
282
265
  - lib
@@ -291,7 +274,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
291
274
  - !ruby/object:Gem::Version
292
275
  version: '0'
293
276
  requirements: []
294
- rubygems_version: 3.3.7
277
+ rubygems_version: 3.4.10
295
278
  signing_key:
296
279
  specification_version: 4
297
280
  summary: Rake tasks to migrate data alongside schema changes.
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- 2.7.5
data/.travis.yml DELETED
@@ -1,14 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.7
4
- - 3.0
5
- script: bundle exec rspec
6
- gemfile:
7
- - gemfiles/rails_5.2.gemfile
8
- - gemfiles/rails_6.0.gemfile
9
- - gemfiles/rails_6.1.gemfile
10
- - gemfiles/rails_7.0.gemfile
11
- jobs:
12
- exclude:
13
- - rvm: 3.0
14
- gemfile: gemfiles/rails_5.2.gemfile
data/Gemfile.rails5.2 DELETED
@@ -1,10 +0,0 @@
1
- source "http://rubygems.org"
2
-
3
- # Specify your gem's dependencies in data_migrate.gemspec
4
- gemspec
5
- %w[
6
- activerecord
7
- railties
8
- ].each do |rails_gem|
9
- gem rails_gem, '~> 5.2'
10
- end
@@ -1,8 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "http://rubygems.org"
4
-
5
- gem "rails", "~> 5.2.3"
6
- gem "sqlite3", "~> 1.4"
7
-
8
- gemspec path: "../"
@@ -1,31 +0,0 @@
1
- module DataMigrate
2
- # Helper class to getting access to db schema
3
- # to allow data/schema combiation tasks
4
- class SchemaMigration
5
- def self.pending_schema_migrations
6
- all_migrations = DataMigrate::MigrationContext.new(migrations_paths).migrations
7
- sort_migrations(
8
- ActiveRecord::Migrator.new(:up, all_migrations).
9
- pending_migrations.
10
- map {|m| { version: m.version, name: m.name, kind: :schema }}
11
- )
12
- end
13
-
14
- def self.run(direction, migration_paths, version)
15
- ActiveRecord::MigrationContext.new(migration_paths).run(direction, version)
16
- end
17
-
18
- def self.sort_migrations(set1, set2 = nil)
19
- migrations = set1 + (set2 || [])
20
- migrations.sort {|a, b| sort_string(a) <=> sort_string(b)}
21
- end
22
-
23
- def self.migrations_paths
24
- Rails.application.config.paths["db/migrate"].to_a
25
- end
26
-
27
- def self.sort_string(migration)
28
- "#{migration[:version]}_#{migration[:kind] == :data ? 1 : 0}"
29
- end
30
- end
31
- end
@@ -1,9 +0,0 @@
1
- class SomeName < ActiveRecord::Migration[6.0]
2
- def up
3
- puts "Doing data migration"
4
- end
5
-
6
- def down
7
- raise ActiveRecord::IrreversibleMigration
8
- end
9
- end
@@ -1,9 +0,0 @@
1
- class SuperUpdate < ActiveRecord::Migration[6.0]
2
- def up
3
- puts "Doing data migration"
4
- end
5
-
6
- def down
7
- raise ActiveRecord::IrreversibleMigration
8
- end
9
- end
@@ -1,9 +0,0 @@
1
- class SomeName < ActiveRecord::Migration[6.0]
2
- def up
3
- puts "Doing data migration"
4
- end
5
-
6
- def down
7
- puts "Undoing SomeName"
8
- end
9
- end
@@ -1,9 +0,0 @@
1
- class SuperUpdate < ActiveRecord::Migration[6.0]
2
- def up
3
- puts "Doing SuperUpdate"
4
- end
5
-
6
- def down
7
- puts "Undoing SuperUpdate"
8
- end
9
- end
@@ -1 +0,0 @@
1
- # This file should be excluded
@@ -1,9 +0,0 @@
1
- class LateMigration < ActiveRecord::Migration[5.2]
2
- def up
3
- puts "Doing schema LateMigration"
4
- end
5
-
6
- def down
7
- puts "Undoing LateMigration"
8
- end
9
- end
@@ -1,9 +0,0 @@
1
- class DbMigration < ActiveRecord::Migration[5.2]
2
- def up
3
- puts "Doing schema migration"
4
- end
5
-
6
- def down
7
- puts "Undoing DbMigration"
8
- end
9
- end