data_migrate 9.0.0 → 11.3.0
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/Changelog.md +79 -0
- data/README.md +31 -19
- data/lib/data_migrate/config.rb +2 -1
- data/lib/data_migrate/{data_migrator_five.rb → data_migrator.rb} +15 -35
- data/lib/data_migrate/data_schema.rb +8 -8
- data/lib/data_migrate/data_schema_migration.rb +24 -7
- data/lib/data_migrate/database_configurations_wrapper.rb +11 -0
- data/lib/data_migrate/database_tasks.rb +227 -96
- data/lib/data_migrate/migration_context.rb +11 -8
- data/lib/data_migrate/rails_helper.rb +91 -0
- data/lib/data_migrate/schema_dumper.rb +1 -1
- data/lib/data_migrate/{schema_migration_six.rb → schema_migration.rb} +7 -4
- data/lib/data_migrate/{status_service_five.rb → status_service.rb} +14 -8
- data/lib/data_migrate/tasks/data_migrate_tasks.rb +24 -43
- data/lib/data_migrate/version.rb +1 -1
- data/lib/data_migrate.rb +5 -9
- data/lib/generators/data_migration/data_migration_generator.rb +2 -1
- data/tasks/databases.rake +23 -58
- metadata +19 -72
- data/.github/workflows/build.yml +0 -35
- data/.github/workflows/gempush.yml +0 -29
- data/.gitignore +0 -11
- data/.hound.yml +0 -4
- data/.overcommit.yml +0 -21
- data/.rbenv-gemsets +0 -2
- data/.rspec +0 -3
- data/.rubocop.yml +0 -2
- data/.ruby-style.yml +0 -1061
- data/.ruby-version +0 -1
- data/.travis.yml +0 -17
- data/Appraisals +0 -15
- data/Gemfile +0 -4
- data/Gemfile.rails5.2 +0 -10
- data/Gemfile.rails6.1 +0 -11
- data/Rakefile +0 -2
- data/data_migrate.gemspec +0 -41
- data/gemfiles/rails_5.2.gemfile +0 -8
- data/gemfiles/rails_6.0.gemfile +0 -8
- data/gemfiles/rails_6.1.gemfile +0 -8
- data/gemfiles/rails_7.0.gemfile +0 -8
- data/lib/data_migrate/legacy_migrator.rb +0 -22
- data/lib/data_migrate/schema_migration_five.rb +0 -31
- data/screenshot.png +0 -0
- data/spec/data_migrate/config_spec.rb +0 -66
- data/spec/data_migrate/data_migrator_spec.rb +0 -101
- data/spec/data_migrate/data_schema_migration_spec.rb +0 -16
- data/spec/data_migrate/data_spec.rb +0 -85
- data/spec/data_migrate/database_tasks_spec.rb +0 -138
- data/spec/data_migrate/legacy_migrator_spec.rb +0 -50
- data/spec/data_migrate/migration.rb +0 -19
- data/spec/data_migrate/migration_context_spec.rb +0 -127
- data/spec/data_migrate/schema_dumper_spec.rb +0 -46
- data/spec/data_migrate/schema_migration_spec.rb +0 -99
- data/spec/data_migrate/status_service_spec.rb +0 -102
- data/spec/data_migrate/tasks/data_migrate_tasks_spec.rb +0 -164
- 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/20091231235959_some_name.rb +0 -9
- data/spec/db/data/20171231235959_super_update.rb +0 -9
- data/spec/db/data/20181128000207_excluded_file.rb.other_ext +0 -1
- data/spec/db/data/partial_schema/data_schema.rb +0 -1
- data/spec/db/data/partial_schema/test_data_schema.rb +0 -1
- data/spec/db/data/schema/data_schema.rb +0 -1
- data/spec/db/data/schema/test_data_schema.rb +0 -1
- 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 +0 -9
- data/spec/db/migrate/6.0/20202020202011_db_migration.rb +0 -9
- data/spec/generators/data_migration/data_migration_generator_spec.rb +0 -101
- data/spec/spec_helper.rb +0 -34
- data/tasks/.gitkeep +0 -0
@@ -1,14 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module DataMigrate
|
2
4
|
module Tasks
|
3
5
|
module DataMigrateTasks
|
4
6
|
extend self
|
5
7
|
|
6
|
-
def schema_migrations_path
|
7
|
-
File.join('db', 'migrate')
|
8
|
-
end
|
9
|
-
|
10
8
|
def migrations_paths
|
11
|
-
@migrations_paths ||= DataMigrate.config.data_migrations_path
|
9
|
+
@migrations_paths ||= Array.wrap(DataMigrate.config.data_migrations_path)
|
12
10
|
end
|
13
11
|
|
14
12
|
def dump
|
@@ -24,13 +22,13 @@ module DataMigrate
|
|
24
22
|
def migrate
|
25
23
|
target_version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
|
26
24
|
|
27
|
-
DataMigrate::DataMigrator.
|
25
|
+
DataMigrate::DataMigrator.create_data_schema_table
|
28
26
|
DataMigrate::MigrationContext.new(migrations_paths).migrate(target_version)
|
29
27
|
end
|
30
28
|
|
31
29
|
def abort_if_pending_migrations(migrations, message)
|
32
30
|
if migrations.any?
|
33
|
-
puts "You have #{migrations.size} pending #{migrations.size
|
31
|
+
puts "You have #{migrations.size} pending #{'migration'.pluralize(migrations.size)}:"
|
34
32
|
migrations.each do |pending_migration|
|
35
33
|
puts " %4d %s" % [pending_migration[:version], pending_migration[:name]]
|
36
34
|
end
|
@@ -47,35 +45,29 @@ module DataMigrate
|
|
47
45
|
end
|
48
46
|
|
49
47
|
def status
|
50
|
-
|
51
|
-
return unless config
|
52
|
-
|
53
|
-
connection = ActiveRecord::Base.connection
|
54
|
-
puts "\ndatabase: #{config['database']}\n\n"
|
55
|
-
DataMigrate::StatusService.dump(connection)
|
48
|
+
DataMigrate::StatusService.dump
|
56
49
|
end
|
57
50
|
|
58
51
|
def status_with_schema
|
59
|
-
config = connect_to_database
|
60
|
-
return unless config
|
61
|
-
|
62
52
|
db_list_data = ActiveRecord::Base.connection.select_values(
|
63
|
-
"SELECT version FROM #{DataMigrate::
|
64
|
-
)
|
65
|
-
db_list_schema = ActiveRecord::Base.connection.select_values(
|
66
|
-
"SELECT version FROM #{ActiveRecord::SchemaMigration.schema_migrations_table_name}"
|
53
|
+
"SELECT version FROM #{DataMigrate::RailsHelper.data_schema_migration.table_name}"
|
67
54
|
)
|
55
|
+
db_list_schema = DataMigrate::RailsHelper.schema_migration_versions
|
68
56
|
file_list = []
|
69
57
|
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
58
|
+
migrations_paths.each do |path|
|
59
|
+
Dir.foreach(File.join(Rails.root, path)) do |file|
|
60
|
+
# only files matching "20091231235959_some_name.rb" pattern
|
61
|
+
if match_data = /(\d{14})_(.+)\.rb/.match(file)
|
62
|
+
status = db_list_data.delete(match_data[1]) ? 'up' : 'down'
|
63
|
+
file_list << [status, match_data[1], match_data[2], 'data']
|
64
|
+
end
|
75
65
|
end
|
76
66
|
end
|
77
67
|
|
78
|
-
|
68
|
+
DataMigrate::SchemaMigration.migrations_paths.map do |path|
|
69
|
+
Dir.children(path) if Dir.exist?(path)
|
70
|
+
end.flatten.compact.each do |file|
|
79
71
|
# only files matching "20091231235959_some_name.rb" pattern
|
80
72
|
if match_data = /(\d{14})_(.+)\.rb/.match(file)
|
81
73
|
status = db_list_schema.delete(match_data[1]) ? 'up' : 'down'
|
@@ -86,7 +78,7 @@ module DataMigrate
|
|
86
78
|
file_list.sort!{|a,b| "#{a[1]}_#{a[3] == 'data' ? 1 : 0}" <=> "#{b[1]}_#{b[3] == 'data' ? 1 : 0}" }
|
87
79
|
|
88
80
|
# output
|
89
|
-
puts "\ndatabase: #{
|
81
|
+
puts "\ndatabase: #{database_name}\n\n"
|
90
82
|
puts "#{"Status".center(8)} #{"Type".center(8)} #{"Migration ID".ljust(14)} Migration Name"
|
91
83
|
puts "-" * 60
|
92
84
|
file_list.each do |file|
|
@@ -103,23 +95,12 @@ module DataMigrate
|
|
103
95
|
|
104
96
|
private
|
105
97
|
|
106
|
-
def
|
107
|
-
|
108
|
-
ActiveRecord::Base.
|
109
|
-
|
110
|
-
ActiveRecord::Base.
|
111
|
-
end
|
112
|
-
ActiveRecord::Base.establish_connection(config)
|
113
|
-
|
114
|
-
unless DataMigrate::DataSchemaMigration.table_exists?
|
115
|
-
puts 'Data migrations table does not exist yet.'
|
116
|
-
config = nil
|
117
|
-
end
|
118
|
-
unless ActiveRecord::SchemaMigration.table_exists?
|
119
|
-
puts 'Schema migrations table does not exist yet.'
|
120
|
-
config = nil
|
98
|
+
def database_name
|
99
|
+
if Gem::Dependency.new("railties", "~> 7.0").match?("railties", Gem.loaded_specs["railties"].version)
|
100
|
+
ActiveRecord::Base.connection_db_config.database
|
101
|
+
elsif Gem::Dependency.new("railties", "~> 6.1").match?("railties", Gem.loaded_specs["railties"].version)
|
102
|
+
ActiveRecord::Base.connection_config[:database]
|
121
103
|
end
|
122
|
-
config
|
123
104
|
end
|
124
105
|
end
|
125
106
|
end
|
data/lib/data_migrate/version.rb
CHANGED
data/lib/data_migrate.rb
CHANGED
@@ -1,22 +1,18 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require File.join(File.dirname(__FILE__), "data_migrate", "
|
3
|
+
require File.join(File.dirname(__FILE__), "data_migrate", "rails_helper")
|
4
|
+
require File.join(File.dirname(__FILE__), "data_migrate", "data_migrator")
|
4
5
|
require File.join(File.dirname(__FILE__), "data_migrate", "data_schema_migration")
|
5
6
|
require File.join(File.dirname(__FILE__), "data_migrate", "data_schema")
|
6
7
|
require File.join(File.dirname(__FILE__), "data_migrate", "database_tasks")
|
7
8
|
require File.join(File.dirname(__FILE__), "data_migrate", "schema_dumper")
|
8
|
-
require File.join(File.dirname(__FILE__), "data_migrate", "
|
9
|
+
require File.join(File.dirname(__FILE__), "data_migrate", "status_service")
|
9
10
|
require File.join(File.dirname(__FILE__), "data_migrate", "migration_context")
|
10
11
|
require File.join(File.dirname(__FILE__), "data_migrate", "railtie")
|
11
12
|
require File.join(File.dirname(__FILE__), "data_migrate", "tasks/data_migrate_tasks")
|
12
|
-
require File.join(File.dirname(__FILE__), "data_migrate", "legacy_migrator")
|
13
13
|
require File.join(File.dirname(__FILE__), "data_migrate", "config")
|
14
|
-
|
15
|
-
|
16
|
-
require File.join(File.dirname(__FILE__), "data_migrate", "schema_migration_five")
|
17
|
-
else
|
18
|
-
require File.join(File.dirname(__FILE__), "data_migrate", "schema_migration_six")
|
19
|
-
end
|
14
|
+
require File.join(File.dirname(__FILE__), "data_migrate", "schema_migration")
|
15
|
+
require File.join(File.dirname(__FILE__), "data_migrate", "database_configurations_wrapper")
|
20
16
|
|
21
17
|
module DataMigrate
|
22
18
|
def self.root
|
@@ -38,8 +38,9 @@ module DataMigrate
|
|
38
38
|
File.join(data_migrations_path, "#{file_name}.rb")
|
39
39
|
end
|
40
40
|
|
41
|
+
# Use the first path in the data_migrations_path as the target directory
|
41
42
|
def data_migrations_path
|
42
|
-
DataMigrate.config.data_migrations_path
|
43
|
+
Array.wrap(DataMigrate.config.data_migrations_path).first
|
43
44
|
end
|
44
45
|
end
|
45
46
|
end
|
data/tasks/databases.rake
CHANGED
@@ -1,54 +1,12 @@
|
|
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
|
-
task :with_data => :
|
7
|
-
DataMigrate::
|
8
|
-
|
9
|
-
ActiveRecord::Migration.verbose = ENV["VERBOSE"] ? ENV["VERBOSE"] == "true" : true
|
10
|
-
target_version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
|
11
|
-
migrations = []
|
12
|
-
|
13
|
-
if target_version.nil?
|
14
|
-
migrations = DataMigrate::DatabaseTasks.pending_migrations.map{ |m| m.merge(:direction =>:up) }
|
15
|
-
else
|
16
|
-
current_schema_version = ActiveRecord::Migrator.current_version
|
17
|
-
schema_migrations = if target_version > current_schema_version
|
18
|
-
DataMigrate::DatabaseTasks.pending_schema_migrations.keep_if{ |m| m[:version] <= target_version }.map{ |m| m.merge(:direction =>:up) }
|
19
|
-
elsif target_version < current_schema_version
|
20
|
-
DataMigrate::DatabaseTasks.past_migrations.keep_if{ |m| m[:version] > target_version }.map{ |m| m.merge(:direction =>:down) }
|
21
|
-
else # ==
|
22
|
-
[]
|
23
|
-
end
|
24
|
-
|
25
|
-
current_data_version = DataMigrate::DataMigrator.current_version
|
26
|
-
data_migrations = if target_version > current_data_version
|
27
|
-
DataMigrate::DatabaseTasks.pending_data_migrations.keep_if{ |m| m[:version] <= target_version }.map{ |m| m.merge(:direction =>:up) }
|
28
|
-
elsif target_version < current_data_version
|
29
|
-
DataMigrate::DatabaseTasks.past_migrations.keep_if{ |m| m[:version] > target_version }.map{ |m| m.merge(:direction =>:down) }
|
30
|
-
else # ==
|
31
|
-
[]
|
32
|
-
end
|
33
|
-
migrations = if schema_migrations.empty?
|
34
|
-
data_migrations
|
35
|
-
elsif data_migrations.empty?
|
36
|
-
schema_migrations
|
37
|
-
elsif target_version > current_data_version && target_version > current_schema_version
|
38
|
-
DataMigrate::DatabaseTasks.sort_migrations data_migrations, schema_migrations
|
39
|
-
elsif target_version < current_data_version && target_version < current_schema_version
|
40
|
-
DataMigrate::DatabaseTasks.sort_migrations(data_migrations, schema_migrations).reverse
|
41
|
-
elsif target_version > current_data_version && target_version < current_schema_version
|
42
|
-
schema_migrations + data_migrations
|
43
|
-
elsif target_version < current_data_version && target_version > current_schema_version
|
44
|
-
schema_migrations + data_migrations
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
migrations.each do |migration|
|
49
|
-
DataMigrate::DatabaseTasks.run_migration(migration, migration[:direction])
|
50
|
-
end
|
51
|
-
|
8
|
+
task :with_data => :load_config do
|
9
|
+
DataMigrate::DatabaseTasks.migrate_with_data
|
52
10
|
Rake::Task["db:_dump"].invoke
|
53
11
|
Rake::Task["data:dump"].invoke
|
54
12
|
end
|
@@ -56,7 +14,7 @@ namespace :db do
|
|
56
14
|
namespace :redo do
|
57
15
|
desc 'Rollbacks the database one migration and re migrate up (options: STEP=x, VERSION=x).'
|
58
16
|
task :with_data => :environment do
|
59
|
-
|
17
|
+
DataMigrate::DataMigrator.create_data_schema_table
|
60
18
|
if ENV["VERSION"]
|
61
19
|
Rake::Task["db:migrate:down:with_data"].invoke
|
62
20
|
Rake::Task["db:migrate:up:with_data"].invoke
|
@@ -72,7 +30,7 @@ namespace :db do
|
|
72
30
|
task :with_data => :environment do
|
73
31
|
version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
|
74
32
|
raise "VERSION is required" unless version
|
75
|
-
DataMigrate::DataMigrator.
|
33
|
+
DataMigrate::DataMigrator.create_data_schema_table
|
76
34
|
run_both = ENV["BOTH"] == "true"
|
77
35
|
migrations = DataMigrate::DatabaseTasks.pending_migrations.keep_if{|m| m[:version] == version}
|
78
36
|
|
@@ -94,7 +52,7 @@ namespace :db do
|
|
94
52
|
task :with_data => :environment do
|
95
53
|
version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
|
96
54
|
raise "VERSION is required" unless version
|
97
|
-
DataMigrate::DataMigrator.
|
55
|
+
DataMigrate::DataMigrator.create_data_schema_table
|
98
56
|
run_both = ENV["BOTH"] == "true"
|
99
57
|
migrations = DataMigrate::DatabaseTasks.past_migrations.keep_if{|m| m[:version] == version}
|
100
58
|
|
@@ -123,7 +81,7 @@ namespace :db do
|
|
123
81
|
desc 'Rolls the schema back to the previous version (specify steps w/ STEP=n).'
|
124
82
|
task :with_data => :environment do
|
125
83
|
step = ENV['STEP'] ? ENV['STEP'].to_i : 1
|
126
|
-
DataMigrate::DataMigrator.
|
84
|
+
DataMigrate::DataMigrator.create_data_schema_table
|
127
85
|
DataMigrate::DatabaseTasks.past_migrations[0..(step - 1)].each do | past_migration |
|
128
86
|
DataMigrate::DatabaseTasks.run_migration(past_migration, :down)
|
129
87
|
end
|
@@ -136,7 +94,7 @@ namespace :db do
|
|
136
94
|
namespace :forward do
|
137
95
|
desc 'Pushes the schema to the next version (specify steps w/ STEP=n).'
|
138
96
|
task :with_data => :environment do
|
139
|
-
DataMigrate::DataMigrator.
|
97
|
+
DataMigrate::DataMigrator.create_data_schema_table
|
140
98
|
step = ENV['STEP'] ? ENV['STEP'].to_i : 1
|
141
99
|
DataMigrate::DatabaseTasks.forward(step)
|
142
100
|
Rake::Task["db:_dump"].invoke
|
@@ -147,7 +105,7 @@ namespace :db do
|
|
147
105
|
namespace :version do
|
148
106
|
desc "Retrieves the current schema version numbers for data and schema migrations"
|
149
107
|
task :with_data => :environment do
|
150
|
-
DataMigrate::DataMigrator.
|
108
|
+
DataMigrate::DataMigrator.create_data_schema_table
|
151
109
|
puts "Current Schema version: #{ActiveRecord::Migrator.current_version}"
|
152
110
|
puts "Current Data version: #{DataMigrate::DataMigrator.current_version}"
|
153
111
|
end
|
@@ -188,6 +146,13 @@ namespace :db do
|
|
188
146
|
end
|
189
147
|
end
|
190
148
|
end
|
149
|
+
|
150
|
+
namespace :prepare do
|
151
|
+
desc "Runs setup if database does not exist, or runs data and schema migrations if it does"
|
152
|
+
task with_data: :environment do
|
153
|
+
DataMigrate::DatabaseTasks.prepare_all_with_data
|
154
|
+
end
|
155
|
+
end
|
191
156
|
end
|
192
157
|
|
193
158
|
namespace :data do
|
@@ -200,7 +165,7 @@ namespace :data do
|
|
200
165
|
namespace :migrate do
|
201
166
|
desc 'Rollbacks the database one migration and re migrate up (options: STEP=x, VERSION=x).'
|
202
167
|
task :redo => :environment do
|
203
|
-
DataMigrate::DataMigrator.
|
168
|
+
DataMigrate::DataMigrator.create_data_schema_table
|
204
169
|
if ENV["VERSION"]
|
205
170
|
Rake::Task["data:migrate:down"].invoke
|
206
171
|
Rake::Task["data:migrate:up"].invoke
|
@@ -212,7 +177,7 @@ namespace :data do
|
|
212
177
|
|
213
178
|
desc 'Runs the "up" for a given migration VERSION.'
|
214
179
|
task :up => :environment do
|
215
|
-
DataMigrate::DataMigrator.
|
180
|
+
DataMigrate::DataMigrator.create_data_schema_table
|
216
181
|
version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
|
217
182
|
raise "VERSION is required" unless version
|
218
183
|
DataMigrate::DataMigrator.run(:up, DataMigrate::DatabaseTasks.data_migrations_path, version)
|
@@ -223,7 +188,7 @@ namespace :data do
|
|
223
188
|
task :down => :environment do
|
224
189
|
version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
|
225
190
|
raise "VERSION is required" unless version
|
226
|
-
DataMigrate::DataMigrator.
|
191
|
+
DataMigrate::DataMigrator.create_data_schema_table
|
227
192
|
DataMigrate::DataMigrator.run(:down, DataMigrate::DatabaseTasks.data_migrations_path, version)
|
228
193
|
Rake::Task["data:dump"].invoke
|
229
194
|
end
|
@@ -236,7 +201,7 @@ namespace :data do
|
|
236
201
|
|
237
202
|
desc 'Rolls the schema back to the previous version (specify steps w/ STEP=n).'
|
238
203
|
task :rollback => :environment do
|
239
|
-
DataMigrate::DataMigrator.
|
204
|
+
DataMigrate::DataMigrator.create_data_schema_table
|
240
205
|
step = ENV['STEP'] ? ENV['STEP'].to_i : 1
|
241
206
|
DataMigrate::DataMigrator.rollback(DataMigrate::DatabaseTasks.data_migrations_path, step)
|
242
207
|
Rake::Task["data:dump"].invoke
|
@@ -244,7 +209,7 @@ namespace :data do
|
|
244
209
|
|
245
210
|
desc 'Pushes the schema to the next version (specify steps w/ STEP=n).'
|
246
211
|
task :forward => :environment do
|
247
|
-
DataMigrate::DataMigrator.
|
212
|
+
DataMigrate::DataMigrator.create_data_schema_table
|
248
213
|
step = ENV['STEP'] ? ENV['STEP'].to_i : 1
|
249
214
|
# TODO: No worky for .forward
|
250
215
|
# DataMigrate::DataMigrator.forward('db/data/', step)
|
@@ -257,7 +222,7 @@ namespace :data do
|
|
257
222
|
|
258
223
|
desc "Retrieves the current schema version number for data migrations"
|
259
224
|
task :version => :environment do
|
260
|
-
DataMigrate::DataMigrator.
|
225
|
+
DataMigrate::DataMigrator.create_data_schema_table
|
261
226
|
puts "Current data version: #{DataMigrate::DataMigrator.current_version}"
|
262
227
|
end
|
263
228
|
|
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: data_migrate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 11.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew J Vargo
|
8
8
|
- Ilya Katz
|
9
9
|
- Deborah Enomah
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2025-03-19 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: '6.
|
21
|
+
version: '6.1'
|
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: '6.
|
28
|
+
version: '6.1'
|
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: '6.
|
35
|
+
version: '6.1'
|
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: '6.
|
42
|
+
version: '6.1'
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: appraisal
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,16 +128,16 @@ dependencies:
|
|
128
128
|
name: sqlite3
|
129
129
|
requirement: !ruby/object:Gem::Requirement
|
130
130
|
requirements:
|
131
|
-
- - "
|
131
|
+
- - ">="
|
132
132
|
- !ruby/object:Gem::Version
|
133
|
-
version:
|
133
|
+
version: '0'
|
134
134
|
type: :development
|
135
135
|
prerelease: false
|
136
136
|
version_requirements: !ruby/object:Gem::Requirement
|
137
137
|
requirements:
|
138
|
-
- - "
|
138
|
+
- - ">="
|
139
139
|
- !ruby/object:Gem::Version
|
140
|
-
version:
|
140
|
+
version: '0'
|
141
141
|
- !ruby/object:Gem::Dependency
|
142
142
|
name: timecop
|
143
143
|
requirement: !ruby/object:Gem::Requirement
|
@@ -189,89 +189,36 @@ executables: []
|
|
189
189
|
extensions: []
|
190
190
|
extra_rdoc_files: []
|
191
191
|
files:
|
192
|
-
- ".github/workflows/build.yml"
|
193
|
-
- ".github/workflows/gempush.yml"
|
194
|
-
- ".gitignore"
|
195
|
-
- ".hound.yml"
|
196
|
-
- ".overcommit.yml"
|
197
|
-
- ".rbenv-gemsets"
|
198
|
-
- ".rspec"
|
199
|
-
- ".rubocop.yml"
|
200
|
-
- ".ruby-style.yml"
|
201
|
-
- ".ruby-version"
|
202
|
-
- ".travis.yml"
|
203
|
-
- Appraisals
|
204
192
|
- Changelog.md
|
205
|
-
- Gemfile
|
206
|
-
- Gemfile.rails5.2
|
207
|
-
- Gemfile.rails6.1
|
208
193
|
- LICENSE
|
209
194
|
- README.md
|
210
|
-
- Rakefile
|
211
|
-
- data_migrate.gemspec
|
212
|
-
- gemfiles/rails_5.2.gemfile
|
213
|
-
- gemfiles/rails_6.0.gemfile
|
214
|
-
- gemfiles/rails_6.1.gemfile
|
215
|
-
- gemfiles/rails_7.0.gemfile
|
216
195
|
- lib/capistrano/data_migrate.rb
|
217
196
|
- lib/capistrano/data_migrate/migrate.rb
|
218
197
|
- lib/data_migrate.rb
|
219
198
|
- lib/data_migrate/config.rb
|
220
|
-
- lib/data_migrate/
|
199
|
+
- lib/data_migrate/data_migrator.rb
|
221
200
|
- lib/data_migrate/data_schema.rb
|
222
201
|
- lib/data_migrate/data_schema_migration.rb
|
202
|
+
- lib/data_migrate/database_configurations_wrapper.rb
|
223
203
|
- lib/data_migrate/database_tasks.rb
|
224
|
-
- lib/data_migrate/legacy_migrator.rb
|
225
204
|
- lib/data_migrate/migration_context.rb
|
205
|
+
- lib/data_migrate/rails_helper.rb
|
226
206
|
- lib/data_migrate/railtie.rb
|
227
207
|
- lib/data_migrate/schema_dumper.rb
|
228
|
-
- lib/data_migrate/
|
229
|
-
- lib/data_migrate/
|
230
|
-
- lib/data_migrate/status_service_five.rb
|
208
|
+
- lib/data_migrate/schema_migration.rb
|
209
|
+
- lib/data_migrate/status_service.rb
|
231
210
|
- lib/data_migrate/tasks/data_migrate_tasks.rb
|
232
211
|
- lib/data_migrate/version.rb
|
233
212
|
- lib/generators/data_migrate.rb
|
234
213
|
- lib/generators/data_migration/data_migration_generator.rb
|
235
214
|
- lib/generators/data_migration/templates/data_migration.rb
|
236
215
|
- lib/generators/data_migration/templates/migration.rb
|
237
|
-
- screenshot.png
|
238
|
-
- spec/data_migrate/config_spec.rb
|
239
|
-
- spec/data_migrate/data_migrator_spec.rb
|
240
|
-
- spec/data_migrate/data_schema_migration_spec.rb
|
241
|
-
- spec/data_migrate/data_spec.rb
|
242
|
-
- spec/data_migrate/database_tasks_spec.rb
|
243
|
-
- spec/data_migrate/legacy_migrator_spec.rb
|
244
|
-
- spec/data_migrate/migration.rb
|
245
|
-
- spec/data_migrate/migration_context_spec.rb
|
246
|
-
- spec/data_migrate/schema_dumper_spec.rb
|
247
|
-
- spec/data_migrate/schema_migration_spec.rb
|
248
|
-
- spec/data_migrate/status_service_spec.rb
|
249
|
-
- spec/data_migrate/tasks/data_migrate_tasks_spec.rb
|
250
|
-
- spec/db/6.0/20091231235959_some_name.rb
|
251
|
-
- spec/db/6.0/20171231235959_super_update.rb
|
252
|
-
- spec/db/data-6.0/20091231235959_some_name.rb
|
253
|
-
- spec/db/data-6.0/20171231235959_super_update.rb
|
254
|
-
- spec/db/data-6.0/20181128000207_excluded_file.rb.other_ext
|
255
|
-
- spec/db/data/20091231235959_some_name.rb
|
256
|
-
- spec/db/data/20171231235959_super_update.rb
|
257
|
-
- spec/db/data/20181128000207_excluded_file.rb.other_ext
|
258
|
-
- spec/db/data/partial_schema/data_schema.rb
|
259
|
-
- spec/db/data/partial_schema/test_data_schema.rb
|
260
|
-
- spec/db/data/schema/data_schema.rb
|
261
|
-
- spec/db/data/schema/test_data_schema.rb
|
262
|
-
- spec/db/migrate/5.2/20131111111111_late_migration.rb
|
263
|
-
- spec/db/migrate/5.2/20202020202011_db_migration.rb
|
264
|
-
- spec/db/migrate/6.0/20131111111111_late_migration.rb
|
265
|
-
- spec/db/migrate/6.0/20202020202011_db_migration.rb
|
266
|
-
- spec/generators/data_migration/data_migration_generator_spec.rb
|
267
|
-
- spec/spec_helper.rb
|
268
|
-
- tasks/.gitkeep
|
269
216
|
- tasks/databases.rake
|
270
217
|
homepage: https://github.com/ilyakatz/data-migrate
|
271
218
|
licenses:
|
272
219
|
- MIT
|
273
220
|
metadata: {}
|
274
|
-
post_install_message:
|
221
|
+
post_install_message:
|
275
222
|
rdoc_options: []
|
276
223
|
require_paths:
|
277
224
|
- lib
|
@@ -286,8 +233,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
286
233
|
- !ruby/object:Gem::Version
|
287
234
|
version: '0'
|
288
235
|
requirements: []
|
289
|
-
rubygems_version: 3.
|
290
|
-
signing_key:
|
236
|
+
rubygems_version: 3.4.19
|
237
|
+
signing_key:
|
291
238
|
specification_version: 4
|
292
239
|
summary: Rake tasks to migrate data alongside schema changes.
|
293
240
|
test_files: []
|
data/.github/workflows/build.yml
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
name: CI
|
2
|
-
|
3
|
-
on:
|
4
|
-
- push
|
5
|
-
- pull_request
|
6
|
-
|
7
|
-
jobs:
|
8
|
-
test:
|
9
|
-
strategy:
|
10
|
-
fail-fast: false
|
11
|
-
matrix:
|
12
|
-
os: [ "ubuntu-20.04" ]
|
13
|
-
ruby:
|
14
|
-
- '2.7'
|
15
|
-
- '3.0'
|
16
|
-
- '3.1'
|
17
|
-
- '3.2'
|
18
|
-
gemfile:
|
19
|
-
- gemfiles/rails_6.0.gemfile
|
20
|
-
- gemfiles/rails_6.1.gemfile
|
21
|
-
- gemfiles/rails_7.0.gemfile
|
22
|
-
runs-on: ubuntu-latest
|
23
|
-
env:
|
24
|
-
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
|
25
|
-
RAILS_ENV: test
|
26
|
-
steps:
|
27
|
-
- name: Checkout code
|
28
|
-
uses: actions/checkout@v3
|
29
|
-
- name: Set up Ruby
|
30
|
-
uses: ruby/setup-ruby@v1
|
31
|
-
with:
|
32
|
-
ruby-version: ${{ matrix.ruby }}
|
33
|
-
bundler-cache: true
|
34
|
-
- name: Run tests
|
35
|
-
run: bundle exec rspec
|
@@ -1,29 +0,0 @@
|
|
1
|
-
name: Ruby Gem
|
2
|
-
|
3
|
-
on:
|
4
|
-
push:
|
5
|
-
branches:
|
6
|
-
- main
|
7
|
-
|
8
|
-
jobs:
|
9
|
-
build:
|
10
|
-
name: Build + Publish
|
11
|
-
runs-on: ubuntu-latest
|
12
|
-
|
13
|
-
steps:
|
14
|
-
- uses: actions/checkout@master
|
15
|
-
- name: Set up Ruby 2.6
|
16
|
-
uses: actions/setup-ruby@v1
|
17
|
-
with:
|
18
|
-
version: 2.6.x
|
19
|
-
|
20
|
-
- name: Publish to RubyGems
|
21
|
-
run: |
|
22
|
-
mkdir -p $HOME/.gem
|
23
|
-
touch $HOME/.gem/credentials
|
24
|
-
chmod 0600 $HOME/.gem/credentials
|
25
|
-
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
26
|
-
gem build *.gemspec
|
27
|
-
gem push *.gem
|
28
|
-
env:
|
29
|
-
GEM_HOST_API_KEY: ${{secrets.RUBYGEMS_AUTH_TOKEN}}
|
data/.gitignore
DELETED
data/.hound.yml
DELETED
data/.overcommit.yml
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
# Use this file to configure the Overcommit hooks you wish to use. This will
|
2
|
-
# extend the default configuration defined in:
|
3
|
-
# https://github.com/brigade/overcommit/blob/master/config/default.yml
|
4
|
-
#
|
5
|
-
# At the topmost level of this YAML file is a key representing type of hook
|
6
|
-
# being run (e.g. pre-commit, commit-msg, etc.). Within each type you can
|
7
|
-
# customize each hook, such as whether to only run it on certain files (via
|
8
|
-
# `include`), whether to only display output if it fails (via `quiet`), etc.
|
9
|
-
#
|
10
|
-
# For a complete list of hooks, see:
|
11
|
-
# https://github.com/brigade/overcommit/tree/master/lib/overcommit/hook
|
12
|
-
#
|
13
|
-
# For a complete list of options that you can use to customize hooks, see:
|
14
|
-
# https://github.com/brigade/overcommit#configuration
|
15
|
-
#
|
16
|
-
# Uncomment the following lines to make the configuration take effect.
|
17
|
-
|
18
|
-
PreCommit:
|
19
|
-
RuboCop:
|
20
|
-
enabled: true
|
21
|
-
on_warn: fail # Treat all warnings as failures
|
data/.rbenv-gemsets
DELETED
data/.rspec
DELETED
data/.rubocop.yml
DELETED