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.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +79 -0
  3. data/README.md +31 -19
  4. data/lib/data_migrate/config.rb +2 -1
  5. data/lib/data_migrate/{data_migrator_five.rb → data_migrator.rb} +15 -35
  6. data/lib/data_migrate/data_schema.rb +8 -8
  7. data/lib/data_migrate/data_schema_migration.rb +24 -7
  8. data/lib/data_migrate/database_configurations_wrapper.rb +11 -0
  9. data/lib/data_migrate/database_tasks.rb +227 -96
  10. data/lib/data_migrate/migration_context.rb +11 -8
  11. data/lib/data_migrate/rails_helper.rb +91 -0
  12. data/lib/data_migrate/schema_dumper.rb +1 -1
  13. data/lib/data_migrate/{schema_migration_six.rb → schema_migration.rb} +7 -4
  14. data/lib/data_migrate/{status_service_five.rb → status_service.rb} +14 -8
  15. data/lib/data_migrate/tasks/data_migrate_tasks.rb +24 -43
  16. data/lib/data_migrate/version.rb +1 -1
  17. data/lib/data_migrate.rb +5 -9
  18. data/lib/generators/data_migration/data_migration_generator.rb +2 -1
  19. data/tasks/databases.rake +23 -58
  20. metadata +19 -72
  21. data/.github/workflows/build.yml +0 -35
  22. data/.github/workflows/gempush.yml +0 -29
  23. data/.gitignore +0 -11
  24. data/.hound.yml +0 -4
  25. data/.overcommit.yml +0 -21
  26. data/.rbenv-gemsets +0 -2
  27. data/.rspec +0 -3
  28. data/.rubocop.yml +0 -2
  29. data/.ruby-style.yml +0 -1061
  30. data/.ruby-version +0 -1
  31. data/.travis.yml +0 -17
  32. data/Appraisals +0 -15
  33. data/Gemfile +0 -4
  34. data/Gemfile.rails5.2 +0 -10
  35. data/Gemfile.rails6.1 +0 -11
  36. data/Rakefile +0 -2
  37. data/data_migrate.gemspec +0 -41
  38. data/gemfiles/rails_5.2.gemfile +0 -8
  39. data/gemfiles/rails_6.0.gemfile +0 -8
  40. data/gemfiles/rails_6.1.gemfile +0 -8
  41. data/gemfiles/rails_7.0.gemfile +0 -8
  42. data/lib/data_migrate/legacy_migrator.rb +0 -22
  43. data/lib/data_migrate/schema_migration_five.rb +0 -31
  44. data/screenshot.png +0 -0
  45. data/spec/data_migrate/config_spec.rb +0 -66
  46. data/spec/data_migrate/data_migrator_spec.rb +0 -101
  47. data/spec/data_migrate/data_schema_migration_spec.rb +0 -16
  48. data/spec/data_migrate/data_spec.rb +0 -85
  49. data/spec/data_migrate/database_tasks_spec.rb +0 -138
  50. data/spec/data_migrate/legacy_migrator_spec.rb +0 -50
  51. data/spec/data_migrate/migration.rb +0 -19
  52. data/spec/data_migrate/migration_context_spec.rb +0 -127
  53. data/spec/data_migrate/schema_dumper_spec.rb +0 -46
  54. data/spec/data_migrate/schema_migration_spec.rb +0 -99
  55. data/spec/data_migrate/status_service_spec.rb +0 -102
  56. data/spec/data_migrate/tasks/data_migrate_tasks_spec.rb +0 -164
  57. data/spec/db/6.0/20091231235959_some_name.rb +0 -9
  58. data/spec/db/6.0/20171231235959_super_update.rb +0 -9
  59. data/spec/db/data/20091231235959_some_name.rb +0 -9
  60. data/spec/db/data/20171231235959_super_update.rb +0 -9
  61. data/spec/db/data/20181128000207_excluded_file.rb.other_ext +0 -1
  62. data/spec/db/data/partial_schema/data_schema.rb +0 -1
  63. data/spec/db/data/partial_schema/test_data_schema.rb +0 -1
  64. data/spec/db/data/schema/data_schema.rb +0 -1
  65. data/spec/db/data/schema/test_data_schema.rb +0 -1
  66. data/spec/db/data-6.0/20091231235959_some_name.rb +0 -9
  67. data/spec/db/data-6.0/20171231235959_super_update.rb +0 -9
  68. data/spec/db/data-6.0/20181128000207_excluded_file.rb.other_ext +0 -1
  69. data/spec/db/migrate/5.2/20131111111111_late_migration.rb +0 -9
  70. data/spec/db/migrate/5.2/20202020202011_db_migration.rb +0 -9
  71. data/spec/db/migrate/6.0/20131111111111_late_migration.rb +0 -9
  72. data/spec/db/migrate/6.0/20202020202011_db_migration.rb +0 -9
  73. data/spec/generators/data_migration/data_migration_generator_spec.rb +0 -101
  74. data/spec/spec_helper.rb +0 -34
  75. 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.assure_data_schema_table
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 > 1 ? 'migrations:' : 'migration:'}"
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
- config = connect_to_database
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::DataSchemaMigration.table_name}"
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
- Dir.foreach(File.join(Rails.root, migrations_paths)) do |file|
71
- # only files matching "20091231235959_some_name.rb" pattern
72
- if match_data = /(\d{14})_(.+)\.rb/.match(file)
73
- status = db_list_data.delete(match_data[1]) ? 'up' : 'down'
74
- file_list << [status, match_data[1], match_data[2], 'data']
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
- Dir.foreach(File.join(Rails.root, schema_migrations_path)) do |file|
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: #{config['database']}\n\n"
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 connect_to_database
107
- config = if ActiveRecord.version < Gem::Version.new('6.1')
108
- ActiveRecord::Base.configurations[Rails.env || 'development']
109
- else
110
- ActiveRecord::Base.configurations.find_db_config(Rails.env || 'development').configuration_hash
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
@@ -1,3 +1,3 @@
1
1
  module DataMigrate
2
- VERSION = "9.0.0".freeze
2
+ VERSION = "11.3.0".freeze
3
3
  end
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", "data_migrator_five")
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", "status_service_five")
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
- if Rails::VERSION::MAJOR == 5
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 => :environment do
7
- DataMigrate::DataMigrator.assure_data_schema_table
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
- DataMigrate::DataMigrator.assure_data_schema_table
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.assure_data_schema_table
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.assure_data_schema_table
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.assure_data_schema_table
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.assure_data_schema_table
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.assure_data_schema_table
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.assure_data_schema_table
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.assure_data_schema_table
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.assure_data_schema_table
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.assure_data_schema_table
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.assure_data_schema_table
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.assure_data_schema_table
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: 9.0.0
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: 2023-02-21 00:00:00.000000000 Z
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.0'
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.0'
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.0'
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.0'
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: 1.3.6
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: 1.3.6
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/data_migrator_five.rb
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/schema_migration_five.rb
229
- - lib/data_migrate/schema_migration_six.rb
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.3.26
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: []
@@ -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
@@ -1,11 +0,0 @@
1
- /.rvmrc
2
- *.gem
3
- *.lock
4
- gemfiles/.bundle
5
- spec/db/test.db
6
- spec/db/other_test.db
7
- spec/db/data_schema.rb
8
- .vscode/
9
- .DS_Store
10
- .idea/
11
- vendor/
data/.hound.yml DELETED
@@ -1,4 +0,0 @@
1
- fail_on_violations: true
2
-
3
- ruby:
4
- config_file: .rubocop.yml
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
@@ -1,2 +0,0 @@
1
- data-migrate
2
- -global
data/.rspec DELETED
@@ -1,3 +0,0 @@
1
- --color
2
- --format d
3
-
data/.rubocop.yml DELETED
@@ -1,2 +0,0 @@
1
- # Use same configration as used by HoundCI
2
- inherit_from: .ruby-style.yml