data_migrate 9.0.0 → 9.1.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/.github/workflows/build.yml +1 -2
- data/.github/workflows/gempush.yml +6 -7
- data/.gitignore +3 -1
- data/Appraisals +0 -4
- data/Changelog.md +35 -0
- data/README.md +9 -7
- 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/database_tasks.rb +32 -72
- 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 +3 -8
- data/spec/data_migrate/config_spec.rb +13 -10
- 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 -58
- 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/spec_helper.rb +2 -8
- data/tasks/databases.rake +15 -13
- metadata +8 -20
- data/.ruby-version +0 -1
- data/.travis.yml +0 -17
- 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
|
@@ -3,33 +3,40 @@
|
|
|
3
3
|
require "spec_helper"
|
|
4
4
|
|
|
5
5
|
describe DataMigrate::Tasks::DataMigrateTasks do
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
6
|
+
let(:connection_db_config) do
|
|
7
|
+
if Gem::Dependency.new("railties", ">= 6.1").match?("railties", Gem.loaded_specs["railties"].version)
|
|
8
|
+
ActiveRecord::Base.connection_db_config
|
|
9
|
+
else
|
|
10
|
+
ActiveRecord::Base.configurations.configs_for.first
|
|
12
11
|
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
before do
|
|
15
|
+
ActiveRecord::SchemaMigration.create_table
|
|
16
|
+
DataMigrate::DataSchemaMigration.create_table
|
|
17
|
+
end
|
|
13
18
|
|
|
19
|
+
after do
|
|
20
|
+
ActiveRecord::Migration.drop_table("data_migrations") rescue nil
|
|
21
|
+
ActiveRecord::Migration.drop_table("schema_migrations") rescue nil
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
describe :dump do
|
|
14
25
|
before do
|
|
15
|
-
allow(DataMigrate::DataMigrator).to receive(:db_config) { db_config }
|
|
16
26
|
allow(DataMigrate::DatabaseTasks).to receive(:db_dir).and_return("spec/db")
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
after do
|
|
20
|
-
ActiveRecord::Migration.drop_table("data_migrations")
|
|
27
|
+
DataMigrate::Tasks::DataMigrateTasks.migrate
|
|
21
28
|
end
|
|
22
29
|
|
|
23
30
|
context 'when not given a separate db config' do
|
|
24
31
|
it 'does not override the default connection' do
|
|
25
|
-
DataMigrate::Tasks::DataMigrateTasks.migrate
|
|
26
32
|
expect(ActiveRecord::Base).not_to receive(:establish_connection)
|
|
27
33
|
expect(DataMigrate::SchemaDumper).to receive(:dump)
|
|
34
|
+
|
|
28
35
|
DataMigrate::Tasks::DataMigrateTasks.dump
|
|
29
36
|
end
|
|
30
37
|
end
|
|
31
38
|
|
|
32
|
-
context 'when given ' do
|
|
39
|
+
context 'when given a separate db config' do
|
|
33
40
|
let(:override_config) do
|
|
34
41
|
{
|
|
35
42
|
'host' => '127.0.0.1',
|
|
@@ -39,6 +46,7 @@ describe DataMigrate::Tasks::DataMigrateTasks do
|
|
|
39
46
|
'password' => nil,
|
|
40
47
|
}
|
|
41
48
|
end
|
|
49
|
+
let(:paths) { ["spec/db/migrate"] }
|
|
42
50
|
|
|
43
51
|
before do
|
|
44
52
|
DataMigrate.configure do |config|
|
|
@@ -47,7 +55,6 @@ describe DataMigrate::Tasks::DataMigrateTasks do
|
|
|
47
55
|
end
|
|
48
56
|
|
|
49
57
|
it 'overrides the default connection' do
|
|
50
|
-
DataMigrate::Tasks::DataMigrateTasks.migrate
|
|
51
58
|
expect(ActiveRecord::Base).to receive(:establish_connection).with(override_config)
|
|
52
59
|
DataMigrate::Tasks::DataMigrateTasks.dump
|
|
53
60
|
end
|
|
@@ -55,32 +62,12 @@ describe DataMigrate::Tasks::DataMigrateTasks do
|
|
|
55
62
|
end
|
|
56
63
|
|
|
57
64
|
describe :migrate do
|
|
58
|
-
|
|
59
|
-
{
|
|
60
|
-
adapter: "sqlite3",
|
|
61
|
-
database: "spec/db/test.db"
|
|
62
|
-
}
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
before do
|
|
66
|
-
allow(DataMigrate::DataMigrator).to receive(:db_config) { db_config }
|
|
67
|
-
ActiveRecord::Base.establish_connection(db_config)
|
|
65
|
+
it "first run should run the first pending migration" do
|
|
66
|
+
expect { DataMigrate::Tasks::DataMigrateTasks.migrate }.to output(/20091231235959 SomeName: migrating/).to_stdout
|
|
68
67
|
end
|
|
69
68
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
it do
|
|
75
|
-
expect {
|
|
76
|
-
DataMigrate::Tasks::DataMigrateTasks.migrate
|
|
77
|
-
}.to output(/20091231235959 SomeName: migrating/).to_stdout
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
it do
|
|
81
|
-
expect {
|
|
82
|
-
DataMigrate::Tasks::DataMigrateTasks.migrate
|
|
83
|
-
}.to output(/20171231235959 SuperUpdate: migrating/).to_stdout
|
|
69
|
+
it "second run should run the second pending migration" do
|
|
70
|
+
expect { DataMigrate::Tasks::DataMigrateTasks.migrate }.to output(/20171231235959 SuperUpdate: migrating/).to_stdout
|
|
84
71
|
end
|
|
85
72
|
end
|
|
86
73
|
|
|
@@ -111,43 +98,21 @@ describe DataMigrate::Tasks::DataMigrateTasks do
|
|
|
111
98
|
it "should abort with given message and print names and versions of pending migrations" do
|
|
112
99
|
expect { subject }
|
|
113
100
|
.to raise_error(SystemExit, message)
|
|
114
|
-
.and output(
|
|
101
|
+
.and output(match(/You have #{migrations.count} pending migrations:/)
|
|
102
|
+
.and match(Regexp.new(migrations.map { |m| m.slice(:version, :name)
|
|
103
|
+
.values.join("\\W+") }.join("\\W+")))).to_stdout
|
|
115
104
|
end
|
|
116
105
|
end
|
|
117
106
|
end
|
|
118
107
|
|
|
119
|
-
describe
|
|
120
|
-
let(:db_config) do
|
|
121
|
-
{
|
|
122
|
-
adapter: "sqlite3",
|
|
123
|
-
database: "spec/db/test.db"
|
|
124
|
-
}
|
|
125
|
-
end
|
|
126
|
-
|
|
108
|
+
describe ".status" do
|
|
127
109
|
before do
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
else
|
|
131
|
-
hash_config = ActiveRecord::DatabaseConfigurations::HashConfig.new('test', 'test', db_config)
|
|
132
|
-
config_obj = ActiveRecord::DatabaseConfigurations.new([hash_config])
|
|
133
|
-
allow(ActiveRecord::Base).to receive(:configurations).and_return(config_obj)
|
|
134
|
-
end
|
|
135
|
-
|
|
136
|
-
allow(Rails).to receive(:root) { '.' }
|
|
137
|
-
|
|
138
|
-
if Rails::VERSION::MAJOR == 5
|
|
139
|
-
allow(DataMigrate::Tasks::DataMigrateTasks).to receive(:schema_migrations_path) { 'spec/db/migrate/5.2' }
|
|
140
|
-
else
|
|
141
|
-
allow(DataMigrate::Tasks::DataMigrateTasks).to receive(:schema_migrations_path) { 'spec/db/migrate/6.0' }
|
|
142
|
-
end
|
|
110
|
+
allow(Rails).to receive(:root) { "." }
|
|
111
|
+
allow(Rails).to receive(:application) { OpenStruct.new(config: OpenStruct.new(paths: { "db/migrate" => ["spec/db/migrate"] })) }
|
|
143
112
|
|
|
144
113
|
DataMigrate::Tasks::DataMigrateTasks.migrate
|
|
145
114
|
end
|
|
146
115
|
|
|
147
|
-
after do
|
|
148
|
-
ActiveRecord::Migration.drop_table("data_migrations")
|
|
149
|
-
end
|
|
150
|
-
|
|
151
116
|
it "should display data migration status" do
|
|
152
117
|
expect {
|
|
153
118
|
DataMigrate::Tasks::DataMigrateTasks.status
|
data/spec/spec_helper.rb
CHANGED
|
@@ -20,14 +20,8 @@ RSpec.configure do |config|
|
|
|
20
20
|
if example.metadata[:no_override]
|
|
21
21
|
else
|
|
22
22
|
@prev_data_migrations_path = DataMigrate.config.data_migrations_path
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
config.data_migrations_path = "spec/db/data"
|
|
26
|
-
end
|
|
27
|
-
else
|
|
28
|
-
DataMigrate.configure do |config|
|
|
29
|
-
config.data_migrations_path = "spec/db/6.0"
|
|
30
|
-
end
|
|
23
|
+
DataMigrate.configure do |config|
|
|
24
|
+
config.data_migrations_path = "spec/db/data"
|
|
31
25
|
end
|
|
32
26
|
end
|
|
33
27
|
end
|
data/tasks/databases.rake
CHANGED
|
@@ -1,10 +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
8
|
task :with_data => :environment do
|
|
7
|
-
DataMigrate::DataMigrator.
|
|
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
|
|
@@ -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,7 +74,7 @@ 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
|
-
DataMigrate::DataMigrator.
|
|
77
|
+
DataMigrate::DataMigrator.create_data_schema_table
|
|
76
78
|
run_both = ENV["BOTH"] == "true"
|
|
77
79
|
migrations = DataMigrate::DatabaseTasks.pending_migrations.keep_if{|m| m[:version] == version}
|
|
78
80
|
|
|
@@ -94,7 +96,7 @@ 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
|
-
DataMigrate::DataMigrator.
|
|
99
|
+
DataMigrate::DataMigrator.create_data_schema_table
|
|
98
100
|
run_both = ENV["BOTH"] == "true"
|
|
99
101
|
migrations = DataMigrate::DatabaseTasks.past_migrations.keep_if{|m| m[:version] == version}
|
|
100
102
|
|
|
@@ -123,7 +125,7 @@ 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
|
-
DataMigrate::DataMigrator.
|
|
128
|
+
DataMigrate::DataMigrator.create_data_schema_table
|
|
127
129
|
DataMigrate::DatabaseTasks.past_migrations[0..(step - 1)].each do | past_migration |
|
|
128
130
|
DataMigrate::DatabaseTasks.run_migration(past_migration, :down)
|
|
129
131
|
end
|
|
@@ -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
|
-
DataMigrate::DataMigrator.
|
|
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
|
-
DataMigrate::DataMigrator.
|
|
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
|
|
@@ -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
|
-
DataMigrate::DataMigrator.
|
|
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,7 +214,7 @@ namespace :data do
|
|
|
212
214
|
|
|
213
215
|
desc 'Runs the "up" for a given migration VERSION.'
|
|
214
216
|
task :up => :environment do
|
|
215
|
-
DataMigrate::DataMigrator.
|
|
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
220
|
DataMigrate::DataMigrator.run(:up, DataMigrate::DatabaseTasks.data_migrations_path, version)
|
|
@@ -223,7 +225,7 @@ 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
|
-
DataMigrate::DataMigrator.
|
|
228
|
+
DataMigrate::DataMigrator.create_data_schema_table
|
|
227
229
|
DataMigrate::DataMigrator.run(:down, DataMigrate::DatabaseTasks.data_migrations_path, version)
|
|
228
230
|
Rake::Task["data:dump"].invoke
|
|
229
231
|
end
|
|
@@ -236,7 +238,7 @@ 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
|
-
DataMigrate::DataMigrator.
|
|
241
|
+
DataMigrate::DataMigrator.create_data_schema_table
|
|
240
242
|
step = ENV['STEP'] ? ENV['STEP'].to_i : 1
|
|
241
243
|
DataMigrate::DataMigrator.rollback(DataMigrate::DatabaseTasks.data_migrations_path, step)
|
|
242
244
|
Rake::Task["data:dump"].invoke
|
|
@@ -244,7 +246,7 @@ namespace :data do
|
|
|
244
246
|
|
|
245
247
|
desc 'Pushes the schema to the next version (specify steps w/ STEP=n).'
|
|
246
248
|
task :forward => :environment do
|
|
247
|
-
DataMigrate::DataMigrator.
|
|
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)
|
|
@@ -257,7 +259,7 @@ namespace :data do
|
|
|
257
259
|
|
|
258
260
|
desc "Retrieves the current schema version number for data migrations"
|
|
259
261
|
task :version => :environment do
|
|
260
|
-
DataMigrate::DataMigrator.
|
|
262
|
+
DataMigrate::DataMigrator.create_data_schema_table
|
|
261
263
|
puts "Current data version: #{DataMigrate::DataMigrator.current_version}"
|
|
262
264
|
end
|
|
263
265
|
|
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: 9.
|
|
4
|
+
version: 9.1.0
|
|
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: 2023-
|
|
13
|
+
date: 2023-06-29 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: activerecord
|
|
@@ -198,18 +198,14 @@ files:
|
|
|
198
198
|
- ".rspec"
|
|
199
199
|
- ".rubocop.yml"
|
|
200
200
|
- ".ruby-style.yml"
|
|
201
|
-
- ".ruby-version"
|
|
202
|
-
- ".travis.yml"
|
|
203
201
|
- Appraisals
|
|
204
202
|
- Changelog.md
|
|
205
203
|
- Gemfile
|
|
206
|
-
- Gemfile.rails5.2
|
|
207
204
|
- Gemfile.rails6.1
|
|
208
205
|
- LICENSE
|
|
209
206
|
- README.md
|
|
210
207
|
- Rakefile
|
|
211
208
|
- data_migrate.gemspec
|
|
212
|
-
- gemfiles/rails_5.2.gemfile
|
|
213
209
|
- gemfiles/rails_6.0.gemfile
|
|
214
210
|
- gemfiles/rails_6.1.gemfile
|
|
215
211
|
- gemfiles/rails_7.0.gemfile
|
|
@@ -217,7 +213,7 @@ files:
|
|
|
217
213
|
- lib/capistrano/data_migrate/migrate.rb
|
|
218
214
|
- lib/data_migrate.rb
|
|
219
215
|
- lib/data_migrate/config.rb
|
|
220
|
-
- lib/data_migrate/
|
|
216
|
+
- lib/data_migrate/data_migrator.rb
|
|
221
217
|
- lib/data_migrate/data_schema.rb
|
|
222
218
|
- lib/data_migrate/data_schema_migration.rb
|
|
223
219
|
- lib/data_migrate/database_tasks.rb
|
|
@@ -225,9 +221,8 @@ files:
|
|
|
225
221
|
- lib/data_migrate/migration_context.rb
|
|
226
222
|
- lib/data_migrate/railtie.rb
|
|
227
223
|
- lib/data_migrate/schema_dumper.rb
|
|
228
|
-
- lib/data_migrate/
|
|
229
|
-
- lib/data_migrate/
|
|
230
|
-
- lib/data_migrate/status_service_five.rb
|
|
224
|
+
- lib/data_migrate/schema_migration.rb
|
|
225
|
+
- lib/data_migrate/status_service.rb
|
|
231
226
|
- lib/data_migrate/tasks/data_migrate_tasks.rb
|
|
232
227
|
- lib/data_migrate/version.rb
|
|
233
228
|
- lib/generators/data_migrate.rb
|
|
@@ -247,11 +242,6 @@ files:
|
|
|
247
242
|
- spec/data_migrate/schema_migration_spec.rb
|
|
248
243
|
- spec/data_migrate/status_service_spec.rb
|
|
249
244
|
- 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
245
|
- spec/db/data/20091231235959_some_name.rb
|
|
256
246
|
- spec/db/data/20171231235959_super_update.rb
|
|
257
247
|
- spec/db/data/20181128000207_excluded_file.rb.other_ext
|
|
@@ -259,10 +249,8 @@ files:
|
|
|
259
249
|
- spec/db/data/partial_schema/test_data_schema.rb
|
|
260
250
|
- spec/db/data/schema/data_schema.rb
|
|
261
251
|
- spec/db/data/schema/test_data_schema.rb
|
|
262
|
-
- spec/db/migrate/
|
|
263
|
-
- spec/db/migrate/
|
|
264
|
-
- spec/db/migrate/6.0/20131111111111_late_migration.rb
|
|
265
|
-
- 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
|
|
266
254
|
- spec/generators/data_migration/data_migration_generator_spec.rb
|
|
267
255
|
- spec/spec_helper.rb
|
|
268
256
|
- tasks/.gitkeep
|
|
@@ -286,7 +274,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
286
274
|
- !ruby/object:Gem::Version
|
|
287
275
|
version: '0'
|
|
288
276
|
requirements: []
|
|
289
|
-
rubygems_version: 3.
|
|
277
|
+
rubygems_version: 3.4.10
|
|
290
278
|
signing_key:
|
|
291
279
|
specification_version: 4
|
|
292
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,17 +0,0 @@
|
|
|
1
|
-
language: ruby
|
|
2
|
-
rvm:
|
|
3
|
-
- 2.7
|
|
4
|
-
- 3.0
|
|
5
|
-
- 3.2
|
|
6
|
-
script: bundle exec rspec
|
|
7
|
-
gemfile:
|
|
8
|
-
- gemfiles/rails_5.2.gemfile
|
|
9
|
-
- gemfiles/rails_6.0.gemfile
|
|
10
|
-
- gemfiles/rails_6.1.gemfile
|
|
11
|
-
- gemfiles/rails_7.0.gemfile
|
|
12
|
-
jobs:
|
|
13
|
-
exclude:
|
|
14
|
-
- rvm: 3.0
|
|
15
|
-
gemfile: gemfiles/rails_5.2.gemfile
|
|
16
|
-
- rvm: 3.2
|
|
17
|
-
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
|