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.
- checksums.yaml +4 -4
- data/.github/workflows/build.yml +34 -0
- data/.github/workflows/gempush.yml +6 -7
- data/.gitignore +3 -1
- data/Appraisals +0 -4
- data/Changelog.md +52 -0
- data/README.md +10 -7
- data/data_migrate.gemspec +1 -10
- data/lib/data_migrate/config.rb +10 -1
- data/lib/data_migrate/{data_migrator_five.rb → data_migrator.rb} +1 -12
- data/lib/data_migrate/data_schema.rb +1 -1
- data/lib/data_migrate/data_schema_migration.rb +1 -1
- data/lib/data_migrate/database_tasks.rb +61 -67
- data/lib/data_migrate/{schema_migration_six.rb → schema_migration.rb} +4 -2
- data/lib/data_migrate/{status_service_five.rb → status_service.rb} +12 -6
- data/lib/data_migrate/tasks/data_migrate_tasks.rb +15 -36
- data/lib/data_migrate/version.rb +1 -1
- data/lib/data_migrate.rb +6 -8
- data/lib/generators/data_migrate.rb +15 -2
- data/lib/generators/data_migration/data_migration_generator.rb +5 -1
- data/spec/data_migrate/config_spec.rb +48 -6
- data/spec/data_migrate/data_migrator_spec.rb +13 -34
- data/spec/data_migrate/data_spec.rb +0 -11
- data/spec/data_migrate/database_tasks_spec.rb +10 -59
- data/spec/data_migrate/legacy_migrator_spec.rb +6 -18
- data/spec/data_migrate/migration.rb +11 -13
- data/spec/data_migrate/migration_context_spec.rb +11 -37
- data/spec/data_migrate/schema_dumper_spec.rb +10 -23
- data/spec/data_migrate/schema_migration_spec.rb +40 -42
- data/spec/data_migrate/status_service_spec.rb +26 -55
- data/spec/data_migrate/tasks/data_migrate_tasks_spec.rb +31 -66
- data/spec/db/data/20091231235959_some_name.rb +1 -1
- data/spec/db/data/20171231235959_super_update.rb +1 -1
- data/spec/generators/data_migration/data_migration_generator_spec.rb +47 -6
- data/spec/spec_helper.rb +2 -8
- data/tasks/databases.rake +37 -85
- metadata +14 -31
- data/.ruby-version +0 -1
- data/.travis.yml +0 -14
- data/Gemfile.rails5.2 +0 -10
- data/gemfiles/rails_5.2.gemfile +0 -8
- data/lib/data_migrate/schema_migration_five.rb +0 -31
- data/spec/db/6.0/20091231235959_some_name.rb +0 -9
- data/spec/db/6.0/20171231235959_super_update.rb +0 -9
- data/spec/db/data-6.0/20091231235959_some_name.rb +0 -9
- data/spec/db/data-6.0/20171231235959_super_update.rb +0 -9
- data/spec/db/data-6.0/20181128000207_excluded_file.rb.other_ext +0 -1
- data/spec/db/migrate/5.2/20131111111111_late_migration.rb +0 -9
- data/spec/db/migrate/5.2/20202020202011_db_migration.rb +0 -9
- /data/spec/db/migrate/{6.0/20131111111111_late_migration.rb → 20131111111111_late_migration.rb} +0 -0
- /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
|
-
|
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 =
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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:
|
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:
|
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: '
|
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: '
|
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: '
|
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: '
|
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/
|
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/
|
228
|
-
- lib/data_migrate/
|
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/
|
262
|
-
- spec/db/migrate/
|
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.
|
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
data/gemfiles/rails_5.2.gemfile
DELETED
@@ -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 +0,0 @@
|
|
1
|
-
# This file should be excluded
|
/data/spec/db/migrate/{6.0/20131111111111_late_migration.rb → 20131111111111_late_migration.rb}
RENAMED
File without changes
|
File without changes
|