nonschema_migrations 4.0.0 → 4.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 060a8252f8c50e08554a63d6dc7eda69c3787b1371378dd67ec996ccdcafb693
4
- data.tar.gz: 3fdf7873eb61ae75a48c79129ec8529f9a278ecc351e6118343a14d0849d1ee0
3
+ metadata.gz: 308147d2c0f3916b38a56e11aea98c3f9808e0a7ab7897eacacc7ee121e9c4dc
4
+ data.tar.gz: a51be4a671f86652e25f090617be568db61422f2e2d0b20af4ad93df70670649
5
5
  SHA512:
6
- metadata.gz: 39109601de547582da8d0931a5a51320e807482be4b08d22bc12342c4c16804c23213bd3bef22f2b901773776519a636ae3d3776feecc3a3912fac097d1e3ed9
7
- data.tar.gz: 245136e81e8f63a5b0f4e9e15f59b354814d0d488e7f55af7acde157e88e7d48d2bd0c7c48a2cc9271c1d9e2699b0dedf5995a1d11dc005076085184cfa0e7a8
6
+ metadata.gz: c8708734499a58f62de26d2f19da57ab469c52fc40bb7223fa71d9593a43324bdc52dac451aad363a7f3396094f6aa81cf7b040ae76b6968659e6c035a2925aa
7
+ data.tar.gz: 35f45f07ca8b51e3821b5a7abbbdebb380c9b77e28204e97d09cccc7b7bc75d7a1964a2d0da93ed2d11b2b284103f155874fdb7a979970f51a6dd94079daf43e
@@ -6,6 +6,6 @@ require 'generators/data_migration_generator.rb'
6
6
  require 'active_record/data_migration.rb'
7
7
  require 'nonschema_migrator.rb'
8
8
 
9
- module NondestructiveMigrations
9
+ module NonschemaMigrations
10
10
  require "nonschema_migrations/railtie.rb" if defined?(Rails)
11
11
  end
@@ -1,25 +1,22 @@
1
-
2
-
3
-
4
- class NondestructiveMigrator < ActiveRecord::Migrator
1
+ class NonschemaMigrator < ActiveRecord::Migrator
5
2
  # This class related to data migration.
6
3
  # Used in rake tasks (rake data:[migrate|rollback|up|down])
7
4
 
8
5
  if defined?(ActiveRecord::MigrationContext)
9
6
  class SchemaMigration < ActiveRecord::SchemaMigration
10
7
  def self.table_name
11
- NondestructiveMigrator.schema_migrations_table_name
8
+ NonschemaMigrator.schema_migrations_table_name
12
9
  end
13
10
  end
14
11
 
15
12
  class MigrationContext < ActiveRecord::MigrationContext
16
13
  def initialize(migrations_paths)
17
14
  super(migrations_paths)
18
- @schema_migration = NondestructiveMigrator::SchemaMigration
15
+ @schema_migration = NonschemaMigrator::SchemaMigration
19
16
  end
20
17
 
21
18
  def new_migrator(*args)
22
- result = NondestructiveMigrator.new(*args)
19
+ result = NonschemaMigrator.new(*args)
23
20
  result.migration_context = self
24
21
  result
25
22
  end
@@ -55,6 +52,10 @@ class NondestructiveMigrator < ActiveRecord::Migrator
55
52
  (db_list + file_list).sort_by { |_, version, _| version }
56
53
  end
57
54
 
55
+ def rollback(steps)
56
+ move(:down, steps)
57
+ end
58
+
58
59
  def move(direction, steps)
59
60
  migrator = new_migrator(direction, migrations)
60
61
 
@@ -76,20 +77,20 @@ class NondestructiveMigrator < ActiveRecord::Migrator
76
77
 
77
78
  def up(target_version = nil)
78
79
  selected_migrations = if block_given?
79
- migrations.select { |m| yield m }
80
- else
81
- migrations
82
- end
80
+ migrations.select { |m| yield m }
81
+ else
82
+ migrations
83
+ end
83
84
 
84
85
  new_migrator(:up, selected_migrations, target_version).migrate
85
86
  end
86
87
 
87
88
  def down(target_version = nil)
88
89
  selected_migrations = if block_given?
89
- migrations.select { |m| yield m }
90
- else
91
- migrations
92
- end
90
+ migrations.select { |m| yield m }
91
+ else
92
+ migrations
93
+ end
93
94
 
94
95
  new_migrator(:down, selected_migrations, target_version).migrate
95
96
  end
@@ -97,7 +98,7 @@ class NondestructiveMigrator < ActiveRecord::Migrator
97
98
 
98
99
  class << self
99
100
  def context(path)
100
- NondestructiveMigrator::MigrationContext.new(path)
101
+ NonschemaMigrator::MigrationContext.new(path)
101
102
  end
102
103
 
103
104
  def new_migrator(path, *args)
@@ -110,6 +111,10 @@ class NondestructiveMigrator < ActiveRecord::Migrator
110
111
  context(path).migrate()
111
112
  end
112
113
 
114
+ def rollback(path, steps = 1)
115
+ context(path).rollback(steps)
116
+ end
117
+
113
118
  def run(direction, path, target_version)
114
119
  new_migrator(path, direction, context(path).migrations, target_version).run
115
120
  end
@@ -139,7 +144,7 @@ class NondestructiveMigrator < ActiveRecord::Migrator
139
144
  def migrations_path
140
145
  MIGRATIONS_PATH
141
146
  end
142
-
147
+
143
148
  def schema_migrations_table_name
144
149
  'data_migrations'
145
150
  end
@@ -158,4 +163,3 @@ class NondestructiveMigrator < ActiveRecord::Migrator
158
163
  end
159
164
  end
160
165
 
161
-
@@ -7,28 +7,33 @@ namespace :data do
7
7
 
8
8
  desc "run data migration (#{MIGRATIONS_PATH})"
9
9
  task :migrate => :data_migration_dependencies do
10
- NondestructiveMigrator.migrate(MIGRATIONS_PATH)
10
+ NonschemaMigrator.migrate(MIGRATIONS_PATH)
11
11
  end
12
12
 
13
13
  desc "rollback data migration (#{MIGRATIONS_PATH})"
14
14
  task :rollback => :data_migration_dependencies do
15
- step = ENV['STEP'] ? ENV['STEP'].to_i : 1
16
- NondestructiveMigrator.rollback(MIGRATIONS_PATH,step)
15
+ NonschemaMigrator.rollback(MIGRATIONS_PATH)
17
16
  end
18
17
 
18
+ desc "honeybear (#{MIGRATIONS_PATH})"
19
+ task :honeybear => :data_migration_dependencies do
20
+ puts "hello honeybear"
21
+ end
22
+
23
+
19
24
  namespace :migrate do
20
25
  desc %Q{runs the "up" for a given _data_ migration VERSION}
21
26
  task :up => :data_migration_dependencies do
22
27
  version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
23
28
  raise "VERSION is required" unless version
24
- NondestructiveMigrator.run(:up, MIGRATIONS_PATH, version)
29
+ NonschemaMigrator.run(:up, MIGRATIONS_PATH, version)
25
30
  end
26
31
 
27
32
  desc %Q{runs the "down" for a given _data_ migration VERSION}
28
33
  task :down => :data_migration_dependencies do
29
34
  version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
30
35
  raise "VERSION is required" unless version
31
- NondestructiveMigrator.run(:down, MIGRATIONS_PATH, version)
36
+ NonschemaMigrator.run(:down, MIGRATIONS_PATH, version)
32
37
  end
33
38
  end
34
39
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nonschema_migrations
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 4.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Fleetwood-Boldt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-05-14 00:00:00.000000000 Z
11
+ date: 2019-06-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord