data_migrate 3.0.1 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +6 -1
- data/.hound.yml +4 -0
- data/.overcommit.yml +21 -0
- data/.rspec +3 -0
- data/.rubocop.yml +2 -0
- data/.ruby-style.yml +1061 -0
- data/.travis.yml +16 -0
- data/Appraisals +17 -0
- data/Changelog.md +35 -0
- data/Gemfile.rails5 +5 -0
- data/Gemfile.rails5.1 +5 -0
- data/Gemfile.rails5.2 +5 -0
- data/README.md +58 -41
- data/data_migrate.gemspec +12 -1
- data/gemfiles/rails_4.1.gemfile +7 -0
- data/gemfiles/rails_4.2.gemfile +8 -0
- data/gemfiles/rails_5.0.gemfile +7 -0
- data/gemfiles/rails_5.1.gemfile +7 -0
- data/gemfiles/rails_5.2.gemfile +7 -0
- data/lib/data_migrate/data_migrator.rb +53 -8
- data/lib/data_migrate/data_migrator_five.rb +84 -0
- data/lib/data_migrate/data_schema.rb +63 -0
- data/lib/data_migrate/data_schema_migration.rb +1 -0
- data/lib/data_migrate/database_tasks.rb +82 -0
- data/lib/data_migrate/migration.rb +1 -1
- data/lib/data_migrate/migration_context.rb +90 -0
- data/lib/data_migrate/migration_five.rb +26 -0
- data/lib/data_migrate/railtie.rb +1 -1
- data/lib/data_migrate/schema_dumper.rb +42 -0
- data/lib/data_migrate/schema_migration.rb +31 -0
- data/lib/data_migrate/schema_migration_five.rb +31 -0
- data/lib/data_migrate/status_service.rb +65 -0
- data/lib/data_migrate/status_service_five.rb +48 -0
- data/lib/data_migrate/tasks/data_migrate_tasks.rb +25 -0
- data/lib/data_migrate/version.rb +1 -1
- data/lib/data_migrate.rb +30 -4
- data/lib/generators/data_migration/data_migration_generator.rb +17 -16
- data/lib/generators/data_migration/templates/data_migration.rb +4 -4
- data/screenshot.png +0 -0
- data/spec/data_migrate/data_migrator_spec.rb +50 -0
- data/spec/data_migrate/data_schema_migration_spec.rb +16 -0
- data/spec/data_migrate/data_spec.rb +87 -0
- data/spec/data_migrate/database_tasks_spec.rb +114 -0
- data/spec/data_migrate/migration.rb +19 -0
- data/spec/data_migrate/migration_context_spec.rb +107 -0
- data/spec/data_migrate/schema_dumper_spec.rb +46 -0
- data/spec/data_migrate/schema_migration_spec.rb +69 -0
- data/spec/data_migrate/status_service_spec.rb +93 -0
- data/spec/data_migrate/tasks/data_migrate_tasks_spec.rb +50 -0
- data/spec/db/4.2/20091231235959_some_name.rb +9 -0
- data/spec/db/4.2/20171231235959_super_update.rb +9 -0
- data/spec/db/5.0/20091231235959_some_name.rb +9 -0
- data/spec/db/5.0/20171231235959_super_update.rb +9 -0
- data/spec/db/data/20091231235959_some_name.rb +9 -0
- data/spec/db/data/20171231235959_super_update.rb +9 -0
- data/spec/db/migrate/4.2/20131111111111_late_migration.rb +9 -0
- data/spec/db/migrate/4.2/20202020202011_db_migration.rb +9 -0
- data/spec/db/migrate/5.0/20131111111111_late_migration.rb +9 -0
- data/spec/db/migrate/5.0/20202020202011_db_migration.rb +9 -0
- data/spec/db/migrate/5.2/20131111111111_late_migration.rb +9 -0
- data/spec/db/migrate/5.2/20202020202011_db_migration.rb +9 -0
- data/spec/generators/data_migration/data_migration_generator_spec.rb +27 -0
- data/spec/spec_helper.rb +9 -0
- data/tasks/databases.rake +69 -62
- metadata +221 -6
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'rails/generators'
|
3
|
+
require 'rails/generators/migration'
|
4
|
+
require 'generators/data_migration/data_migration_generator'
|
5
|
+
|
6
|
+
describe DataMigrate::Generators::DataMigrationGenerator do
|
7
|
+
let(:subject) { DataMigrate::Generators::DataMigrationGenerator }
|
8
|
+
describe :next_migration_number do
|
9
|
+
it "next migration" do
|
10
|
+
Timecop.freeze("2016-12-03 22:15:26 -0800") do
|
11
|
+
expect(ActiveRecord::Base).to receive(:timestamped_migrations) { true }
|
12
|
+
expect(subject.next_migration_number(1)).to eq("20161204061526")
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
describe :migration_base_class_name do
|
18
|
+
let(:subject) { DataMigrate::Generators::DataMigrationGenerator.new(['my_migration']) }
|
19
|
+
it "returns the correct base class name" do
|
20
|
+
if ActiveRecord.version >= Gem::Version.new('5.0')
|
21
|
+
expect(subject.send(:migration_base_class_name)).to eq("ActiveRecord::Migration[#{ActiveRecord::Migration.current_version}]")
|
22
|
+
else
|
23
|
+
expect(subject.send(:migration_base_class_name)).to eq('ActiveRecord::Migration')
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/spec/spec_helper.rb
ADDED
data/tasks/databases.rake
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'data_migrate/tasks/data_migrate_tasks'
|
2
|
+
|
1
3
|
namespace :db do
|
2
4
|
namespace :migrate do
|
3
5
|
desc "Migrate the database data and schema (options: VERSION=x, VERBOSE=false)."
|
@@ -49,7 +51,7 @@ namespace :db do
|
|
49
51
|
DataMigrate::DataMigrator.run(migration[:direction], "db/data/", migration[:version])
|
50
52
|
else
|
51
53
|
ActiveRecord::Migration.write("== %s %s" % ['Schema', "=" * 69])
|
52
|
-
|
54
|
+
DataMigrate::SchemaMigration.run(
|
53
55
|
migration[:direction],
|
54
56
|
Rails.application.config.paths["db/migrate"],
|
55
57
|
migration[:version]
|
@@ -57,7 +59,8 @@ namespace :db do
|
|
57
59
|
end
|
58
60
|
end
|
59
61
|
|
60
|
-
Rake::Task["db:
|
62
|
+
Rake::Task["db:_dump"].invoke
|
63
|
+
Rake::Task["data:dump"].invoke
|
61
64
|
end
|
62
65
|
|
63
66
|
namespace :redo do
|
@@ -93,9 +96,12 @@ namespace :db do
|
|
93
96
|
DataMigrate::DataMigrator.run(:up, "db/data/", migration[:version])
|
94
97
|
else
|
95
98
|
ActiveRecord::Migration.write("== %s %s" % ['Schema', "=" * 69])
|
96
|
-
|
99
|
+
DataMigrate::SchemaMigration.run(:up, "db/migrate/", migration[:version])
|
97
100
|
end
|
98
101
|
end
|
102
|
+
|
103
|
+
Rake::Task["db:_dump"].invoke
|
104
|
+
Rake::Task["data:dump"].invoke
|
99
105
|
end
|
100
106
|
end
|
101
107
|
|
@@ -118,9 +124,12 @@ namespace :db do
|
|
118
124
|
DataMigrate::DataMigrator.run(:down, "db/data/", migration[:version])
|
119
125
|
else
|
120
126
|
ActiveRecord::Migration.write("== %s %s" % ['Schema', "=" * 69])
|
121
|
-
|
127
|
+
DataMigrate::SchemaMigration.run(:down, "db/migrate/", migration[:version])
|
122
128
|
end
|
123
129
|
end
|
130
|
+
|
131
|
+
Rake::Task["db:_dump"].invoke
|
132
|
+
Rake::Task["data:dump"].invoke
|
124
133
|
end
|
125
134
|
end
|
126
135
|
|
@@ -130,8 +139,12 @@ namespace :db do
|
|
130
139
|
config = connect_to_database
|
131
140
|
next unless config
|
132
141
|
|
133
|
-
db_list_data = ActiveRecord::Base.connection.select_values(
|
134
|
-
|
142
|
+
db_list_data = ActiveRecord::Base.connection.select_values(
|
143
|
+
"SELECT version FROM #{DataMigrate::DataSchemaMigration.table_name}"
|
144
|
+
)
|
145
|
+
db_list_schema = ActiveRecord::Base.connection.select_values(
|
146
|
+
"SELECT version FROM #{ActiveRecord::SchemaMigration.schema_migrations_table_name}"
|
147
|
+
)
|
135
148
|
file_list = []
|
136
149
|
|
137
150
|
Dir.foreach(File.join(Rails.root, 'db', 'data')) do |file|
|
@@ -184,6 +197,9 @@ namespace :db do
|
|
184
197
|
ActiveRecord::Migrator.run(:down, "db/migrate/", past_migration[:version])
|
185
198
|
end
|
186
199
|
end
|
200
|
+
|
201
|
+
Rake::Task["db:_dump"].invoke
|
202
|
+
Rake::Task["data:dump"].invoke
|
187
203
|
end
|
188
204
|
end
|
189
205
|
|
@@ -191,19 +207,10 @@ namespace :db do
|
|
191
207
|
desc 'Pushes the schema to the next version (specify steps w/ STEP=n).'
|
192
208
|
task :with_data => :environment do
|
193
209
|
assure_data_schema_table
|
194
|
-
# TODO: No worky for .forward
|
195
210
|
step = ENV['STEP'] ? ENV['STEP'].to_i : 1
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
if pending_migration[:kind] == :data
|
200
|
-
ActiveRecord::Migration.write("== %s %s" % ['Data', "=" * 71])
|
201
|
-
DataMigrate::DataMigrator.run(:up, "db/data/", pending_migration[:version])
|
202
|
-
elsif pending_migration[:kind] == :schema
|
203
|
-
ActiveRecord::Migration.write("== %s %s" % ['Schema', "=" * 69])
|
204
|
-
ActiveRecord::Migrator.run(:up, "db/migrate/", pending_migration[:version])
|
205
|
-
end
|
206
|
-
end
|
211
|
+
DataMigrate::DatabaseTasks.forward(step)
|
212
|
+
Rake::Task["db:_dump"].invoke
|
213
|
+
Rake::Task["data:dump"].invoke
|
207
214
|
end
|
208
215
|
end
|
209
216
|
|
@@ -215,14 +222,24 @@ namespace :db do
|
|
215
222
|
puts "Current Data version: #{DataMigrate::DataMigrator.current_version}"
|
216
223
|
end
|
217
224
|
end
|
225
|
+
|
226
|
+
namespace :schema do
|
227
|
+
namespace :load do
|
228
|
+
desc "Load both schema.rb and data_schema.rb file into the database"
|
229
|
+
task with_data: :environment do
|
230
|
+
Rake::Task["db:schema:load"].invoke
|
231
|
+
|
232
|
+
DataMigrate::DatabaseTasks.load_schema_current(:ruby, ENV["SCHEMA"])
|
233
|
+
end
|
234
|
+
end
|
235
|
+
end
|
218
236
|
end
|
219
237
|
|
220
238
|
namespace :data do
|
221
239
|
desc 'Migrate data migrations (options: VERSION=x, VERBOSE=false)'
|
222
240
|
task :migrate => :environment do
|
223
|
-
|
224
|
-
|
225
|
-
DataMigrate::DataMigrator.migrate("db/data/", ENV["VERSION"] ? ENV["VERSION"].to_i : nil)
|
241
|
+
DataMigrate::Tasks::DataMigrateTasks.migrate
|
242
|
+
Rake::Task["data:dump"].invoke
|
226
243
|
end
|
227
244
|
|
228
245
|
namespace :migrate do
|
@@ -244,6 +261,7 @@ namespace :data do
|
|
244
261
|
version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
|
245
262
|
raise "VERSION is required" unless version
|
246
263
|
DataMigrate::DataMigrator.run(:up, "db/data/", version)
|
264
|
+
Rake::Task["data:dump"].invoke
|
247
265
|
end
|
248
266
|
|
249
267
|
desc 'Runs the "down" for a given migration VERSION.'
|
@@ -252,36 +270,16 @@ namespace :data do
|
|
252
270
|
raise "VERSION is required" unless version
|
253
271
|
assure_data_schema_table
|
254
272
|
DataMigrate::DataMigrator.run(:down, "db/data/", version)
|
273
|
+
Rake::Task["data:dump"].invoke
|
255
274
|
end
|
256
275
|
|
257
276
|
desc "Display status of data migrations"
|
258
277
|
task :status => :environment do
|
259
278
|
config = ActiveRecord::Base.configurations[Rails.env || 'development']
|
260
279
|
ActiveRecord::Base.establish_connection(config)
|
261
|
-
|
262
|
-
puts 'Data migrations table does not exist yet.'
|
263
|
-
next # means "return" for rake task
|
264
|
-
end
|
265
|
-
db_list = ActiveRecord::Base.connection.select_values("SELECT version FROM #{DataMigrate::DataMigrator.schema_migrations_table_name}")
|
266
|
-
file_list = []
|
267
|
-
Dir.foreach(File.join(Rails.root, 'db', 'data')) do |file|
|
268
|
-
# only files matching "20091231235959_some_name.rb" pattern
|
269
|
-
if match_data = /(\d{14})_(.+)\.rb/.match(file)
|
270
|
-
status = db_list.delete(match_data[1]) ? 'up' : 'down'
|
271
|
-
file_list << [status, match_data[1], match_data[2]]
|
272
|
-
end
|
273
|
-
end
|
274
|
-
# output
|
280
|
+
connection = ActiveRecord::Base.connection
|
275
281
|
puts "\ndatabase: #{config['database']}\n\n"
|
276
|
-
|
277
|
-
puts "-" * 50
|
278
|
-
file_list.each do |file|
|
279
|
-
puts "#{file[0].center(8)} #{file[1].ljust(14)} #{file[2].humanize}"
|
280
|
-
end
|
281
|
-
db_list.each do |version|
|
282
|
-
puts "#{'up'.center(8)} #{version.ljust(14)} *** NO FILE ***"
|
283
|
-
end
|
284
|
-
puts
|
282
|
+
DataMigrate::StatusService.dump(connection)
|
285
283
|
end
|
286
284
|
end
|
287
285
|
|
@@ -290,6 +288,7 @@ namespace :data do
|
|
290
288
|
assure_data_schema_table
|
291
289
|
step = ENV['STEP'] ? ENV['STEP'].to_i : 1
|
292
290
|
DataMigrate::DataMigrator.rollback('db/data/', step)
|
291
|
+
Rake::Task["data:dump"].invoke
|
293
292
|
end
|
294
293
|
|
295
294
|
desc 'Pushes the schema to the next version (specify steps w/ STEP=n).'
|
@@ -302,6 +301,7 @@ namespace :data do
|
|
302
301
|
migrations.each do | pending_migration |
|
303
302
|
DataMigrate::DataMigrator.run(:up, "db/data/", pending_migration[:version])
|
304
303
|
end
|
304
|
+
Rake::Task["data:dump"].invoke
|
305
305
|
end
|
306
306
|
|
307
307
|
desc "Retrieves the current schema version number for data migrations"
|
@@ -309,24 +309,36 @@ namespace :data do
|
|
309
309
|
assure_data_schema_table
|
310
310
|
puts "Current data version: #{DataMigrate::DataMigrator.current_version}"
|
311
311
|
end
|
312
|
+
|
313
|
+
desc "Create a db/data_schema.rb file that stores the current data version"
|
314
|
+
task dump: :environment do
|
315
|
+
if ActiveRecord::Base.dump_schema_after_migration
|
316
|
+
filename = DataMigrate::DatabaseTasks.data_schema_file
|
317
|
+
File.open(filename, "w:utf-8") do |file|
|
318
|
+
DataMigrate::SchemaDumper.dump(ActiveRecord::Base.connection, file)
|
319
|
+
end
|
320
|
+
end
|
321
|
+
|
322
|
+
# Allow this task to be called as many times as required. An example
|
323
|
+
# is the migrate:redo task, which calls other two internally
|
324
|
+
# that depend on this one.
|
325
|
+
Rake::Task["data:dump"].reenable
|
326
|
+
end
|
312
327
|
end
|
313
328
|
|
314
329
|
def pending_migrations
|
315
|
-
sort_migrations
|
330
|
+
DataMigrate::DatabaseTasks.sort_migrations(
|
331
|
+
DataMigrate::DatabaseTasks.pending_schema_migrations,
|
332
|
+
DataMigrate::DatabaseTasks.pending_data_migrations
|
333
|
+
)
|
316
334
|
end
|
317
335
|
|
318
336
|
def pending_data_migrations
|
319
|
-
|
320
|
-
sort_migrations DataMigrate::DataMigrator.new(:up, data_migrations ).
|
321
|
-
pending_migrations.map{|m| { :version => m.version, :kind => :data }}
|
337
|
+
DataMigrate::DatabaseTasks.pending_data_migrations
|
322
338
|
end
|
323
339
|
|
324
340
|
def pending_schema_migrations
|
325
|
-
|
326
|
-
sort_migrations(
|
327
|
-
ActiveRecord::Migrator.new(:up, all_migrations).
|
328
|
-
pending_migrations.
|
329
|
-
map{|m| { :version => m.version, :kind => :schema }})
|
341
|
+
DataMigrate::DatabaseTasks.pending_schema_migrations
|
330
342
|
end
|
331
343
|
|
332
344
|
def sort_migrations set_1, set_2=nil
|
@@ -342,24 +354,19 @@ def connect_to_database
|
|
342
354
|
config = ActiveRecord::Base.configurations[Rails.env || 'development']
|
343
355
|
ActiveRecord::Base.establish_connection(config)
|
344
356
|
|
345
|
-
unless
|
357
|
+
unless DataMigrate::DataSchemaMigration.table_exists?
|
346
358
|
puts 'Data migrations table does not exist yet.'
|
347
359
|
config = nil
|
348
360
|
end
|
349
|
-
unless ActiveRecord::
|
361
|
+
unless ActiveRecord::SchemaMigration.table_exists?
|
350
362
|
puts 'Schema migrations table does not exist yet.'
|
351
363
|
config = nil
|
352
364
|
end
|
353
365
|
config
|
354
366
|
end
|
355
367
|
|
356
|
-
def past_migrations
|
357
|
-
|
358
|
-
db_list_data = ActiveRecord::Base.connection.select_values("SELECT version FROM #{DataMigrate::DataMigrator.schema_migrations_table_name}").sort
|
359
|
-
db_list_schema = ActiveRecord::Base.connection.select_values("SELECT version FROM #{ActiveRecord::Migrator.schema_migrations_table_name}").sort
|
360
|
-
migrations = db_list_data.map{|d| {:version => d.to_i, :kind => :data }} + db_list_schema.map{|d| {:version => d.to_i, :kind => :schema }}
|
361
|
-
|
362
|
-
sort == 'asc' ? sort_migrations(migrations) : sort_migrations(migrations).reverse
|
368
|
+
def past_migrations(sort=nil)
|
369
|
+
DataMigrate::DatabaseTasks.past_migrations(sort)
|
363
370
|
end
|
364
371
|
|
365
372
|
def assure_data_schema_table
|
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: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew J Vargo
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2018-05-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -17,14 +17,154 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '4.
|
20
|
+
version: '4.2'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - ">="
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: '4.
|
27
|
+
version: '4.2'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: appraisal
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '0'
|
35
|
+
type: :development
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: rake
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ">="
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '0'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: rspec
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: rspec-core
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: pry
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - ">="
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '0'
|
91
|
+
type: :development
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: rb-readline
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '0'
|
105
|
+
type: :development
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - ">="
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0'
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: sqlite3
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - ">="
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
119
|
+
type: :development
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: timecop
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - ">="
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0'
|
133
|
+
type: :development
|
134
|
+
prerelease: false
|
135
|
+
version_requirements: !ruby/object:Gem::Requirement
|
136
|
+
requirements:
|
137
|
+
- - ">="
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: '0'
|
140
|
+
- !ruby/object:Gem::Dependency
|
141
|
+
name: rubocop
|
142
|
+
requirement: !ruby/object:Gem::Requirement
|
143
|
+
requirements:
|
144
|
+
- - ">="
|
145
|
+
- !ruby/object:Gem::Version
|
146
|
+
version: '0'
|
147
|
+
type: :development
|
148
|
+
prerelease: false
|
149
|
+
version_requirements: !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
151
|
+
- - ">="
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '0'
|
154
|
+
- !ruby/object:Gem::Dependency
|
155
|
+
name: overcommit
|
156
|
+
requirement: !ruby/object:Gem::Requirement
|
157
|
+
requirements:
|
158
|
+
- - ">="
|
159
|
+
- !ruby/object:Gem::Version
|
160
|
+
version: '0'
|
161
|
+
type: :development
|
162
|
+
prerelease: false
|
163
|
+
version_requirements: !ruby/object:Gem::Requirement
|
164
|
+
requirements:
|
165
|
+
- - ">="
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
version: '0'
|
28
168
|
description: Rake tasks to migrate data alongside schema changes.
|
29
169
|
email:
|
30
170
|
- ajvargo@computer.org
|
@@ -34,24 +174,75 @@ extensions: []
|
|
34
174
|
extra_rdoc_files: []
|
35
175
|
files:
|
36
176
|
- ".gitignore"
|
177
|
+
- ".hound.yml"
|
178
|
+
- ".overcommit.yml"
|
179
|
+
- ".rspec"
|
180
|
+
- ".rubocop.yml"
|
181
|
+
- ".ruby-style.yml"
|
182
|
+
- ".travis.yml"
|
183
|
+
- Appraisals
|
37
184
|
- Changelog.md
|
38
185
|
- Gemfile
|
186
|
+
- Gemfile.rails5
|
187
|
+
- Gemfile.rails5.1
|
188
|
+
- Gemfile.rails5.2
|
39
189
|
- LICENSE
|
40
190
|
- README.md
|
41
191
|
- Rakefile
|
42
192
|
- data_migrate.gemspec
|
193
|
+
- gemfiles/rails_4.1.gemfile
|
194
|
+
- gemfiles/rails_4.2.gemfile
|
195
|
+
- gemfiles/rails_5.0.gemfile
|
196
|
+
- gemfiles/rails_5.1.gemfile
|
197
|
+
- gemfiles/rails_5.2.gemfile
|
43
198
|
- lib/capistrano/data_migrate.rb
|
44
199
|
- lib/capistrano/data_migrate/migrate.rb
|
45
200
|
- lib/data_migrate.rb
|
46
201
|
- lib/data_migrate/data_migrator.rb
|
202
|
+
- lib/data_migrate/data_migrator_five.rb
|
203
|
+
- lib/data_migrate/data_schema.rb
|
47
204
|
- lib/data_migrate/data_schema_migration.rb
|
205
|
+
- lib/data_migrate/database_tasks.rb
|
48
206
|
- lib/data_migrate/migration.rb
|
207
|
+
- lib/data_migrate/migration_context.rb
|
208
|
+
- lib/data_migrate/migration_five.rb
|
49
209
|
- lib/data_migrate/railtie.rb
|
210
|
+
- lib/data_migrate/schema_dumper.rb
|
211
|
+
- lib/data_migrate/schema_migration.rb
|
212
|
+
- lib/data_migrate/schema_migration_five.rb
|
213
|
+
- lib/data_migrate/status_service.rb
|
214
|
+
- lib/data_migrate/status_service_five.rb
|
215
|
+
- lib/data_migrate/tasks/data_migrate_tasks.rb
|
50
216
|
- lib/data_migrate/version.rb
|
51
217
|
- lib/generators/data_migrate.rb
|
52
218
|
- lib/generators/data_migration/data_migration_generator.rb
|
53
219
|
- lib/generators/data_migration/templates/data_migration.rb
|
54
220
|
- lib/generators/data_migration/templates/migration.rb
|
221
|
+
- screenshot.png
|
222
|
+
- spec/data_migrate/data_migrator_spec.rb
|
223
|
+
- spec/data_migrate/data_schema_migration_spec.rb
|
224
|
+
- spec/data_migrate/data_spec.rb
|
225
|
+
- spec/data_migrate/database_tasks_spec.rb
|
226
|
+
- spec/data_migrate/migration.rb
|
227
|
+
- spec/data_migrate/migration_context_spec.rb
|
228
|
+
- spec/data_migrate/schema_dumper_spec.rb
|
229
|
+
- spec/data_migrate/schema_migration_spec.rb
|
230
|
+
- spec/data_migrate/status_service_spec.rb
|
231
|
+
- spec/data_migrate/tasks/data_migrate_tasks_spec.rb
|
232
|
+
- spec/db/4.2/20091231235959_some_name.rb
|
233
|
+
- spec/db/4.2/20171231235959_super_update.rb
|
234
|
+
- spec/db/5.0/20091231235959_some_name.rb
|
235
|
+
- spec/db/5.0/20171231235959_super_update.rb
|
236
|
+
- spec/db/data/20091231235959_some_name.rb
|
237
|
+
- spec/db/data/20171231235959_super_update.rb
|
238
|
+
- spec/db/migrate/4.2/20131111111111_late_migration.rb
|
239
|
+
- spec/db/migrate/4.2/20202020202011_db_migration.rb
|
240
|
+
- spec/db/migrate/5.0/20131111111111_late_migration.rb
|
241
|
+
- spec/db/migrate/5.0/20202020202011_db_migration.rb
|
242
|
+
- spec/db/migrate/5.2/20131111111111_late_migration.rb
|
243
|
+
- spec/db/migrate/5.2/20202020202011_db_migration.rb
|
244
|
+
- spec/generators/data_migration/data_migration_generator_spec.rb
|
245
|
+
- spec/spec_helper.rb
|
55
246
|
- tasks/.gitkeep
|
56
247
|
- tasks/databases.rake
|
57
248
|
homepage: https://github.com/ilyakatz/data-migrate
|
@@ -77,8 +268,32 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
77
268
|
version: '0'
|
78
269
|
requirements: []
|
79
270
|
rubyforge_project: data_migrate
|
80
|
-
rubygems_version: 2.
|
271
|
+
rubygems_version: 2.6.13
|
81
272
|
signing_key:
|
82
273
|
specification_version: 4
|
83
274
|
summary: Rake tasks to migrate data alongside schema changes.
|
84
|
-
test_files:
|
275
|
+
test_files:
|
276
|
+
- spec/data_migrate/data_migrator_spec.rb
|
277
|
+
- spec/data_migrate/data_schema_migration_spec.rb
|
278
|
+
- spec/data_migrate/data_spec.rb
|
279
|
+
- spec/data_migrate/database_tasks_spec.rb
|
280
|
+
- spec/data_migrate/migration.rb
|
281
|
+
- spec/data_migrate/migration_context_spec.rb
|
282
|
+
- spec/data_migrate/schema_dumper_spec.rb
|
283
|
+
- spec/data_migrate/schema_migration_spec.rb
|
284
|
+
- spec/data_migrate/status_service_spec.rb
|
285
|
+
- spec/data_migrate/tasks/data_migrate_tasks_spec.rb
|
286
|
+
- spec/db/4.2/20091231235959_some_name.rb
|
287
|
+
- spec/db/4.2/20171231235959_super_update.rb
|
288
|
+
- spec/db/5.0/20091231235959_some_name.rb
|
289
|
+
- spec/db/5.0/20171231235959_super_update.rb
|
290
|
+
- spec/db/data/20091231235959_some_name.rb
|
291
|
+
- spec/db/data/20171231235959_super_update.rb
|
292
|
+
- spec/db/migrate/4.2/20131111111111_late_migration.rb
|
293
|
+
- spec/db/migrate/4.2/20202020202011_db_migration.rb
|
294
|
+
- spec/db/migrate/5.0/20131111111111_late_migration.rb
|
295
|
+
- spec/db/migrate/5.0/20202020202011_db_migration.rb
|
296
|
+
- spec/db/migrate/5.2/20131111111111_late_migration.rb
|
297
|
+
- spec/db/migrate/5.2/20202020202011_db_migration.rb
|
298
|
+
- spec/generators/data_migration/data_migration_generator_spec.rb
|
299
|
+
- spec/spec_helper.rb
|