salsify-data_migrate 3.0.1 → 3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4c5d2c5936fa5ca3ad371d24e17e328cf1a50593
4
- data.tar.gz: 302aaf6f189cd511e5df5f8d65d64adc3f2975bf
3
+ metadata.gz: d9bd7429fe1f9b79f9a0021c56ee6fcf17fdeda7
4
+ data.tar.gz: c98220680f6b4384ae8f6637801e59cdbec95ecc
5
5
  SHA512:
6
- metadata.gz: 43ca1c6ea6fb04997078d51c254bb0700d9ec18a3c31338df08146f2d228e24fecc91fcdc44134c948909a398e25174b1f040df00a0c54d2d4f3f7e17b04b5de
7
- data.tar.gz: d0b3256efc688a7259132147914ecf21e2001386162db390b847da253d31a365526a5d87ce28da13c245b1d570184f5fc46350bc62b59401286ad29279c0abf3
6
+ metadata.gz: cf0b69a99231fd53f729cda41086ad43d81e23835abc3aa86f58a7831f03fafb3ea7d39789245c496d9cac932478d982e265bf00191a470265da69c7ec5f6c56
7
+ data.tar.gz: 9d0fa06a0e4bbb6709e3cd91a44a5ecd866a870273c19e7bdbfb036bdd2bb280b955dae5551d65b1d98030635408876588d594198dd88293846db6151ebae7f1
@@ -1,3 +1,3 @@
1
1
  module DataMigrate
2
- VERSION = '3.0.1'.freeze
2
+ VERSION = '3.1.0'.freeze
3
3
  end
@@ -223,6 +223,21 @@ namespace :db do
223
223
  puts "Current Data version: #{DataMigrate::DataMigrator.current_version}"
224
224
  end
225
225
  end
226
+
227
+ namespace :abort_if_pending_migrations do
228
+ desc "Raises an error if there are pending data or schema migrations"
229
+ task :with_data => :environment do
230
+ assure_data_schema_table
231
+ migrations = pending_migrations
232
+ if migrations.any?
233
+ puts "You have #{migrations.size} pending #{'migration'.pluralize(migrations.size)}:"
234
+ migrations.each do |migration|
235
+ puts ' %4d %6s %s' % [migration[:version], migration[:kind], migration[:name]]
236
+ end
237
+ abort %{Run `rails db:migrate:with_data` to update your database then try again.}
238
+ end
239
+ end
240
+ end
226
241
  end
227
242
 
228
243
  namespace :data do
@@ -317,6 +332,18 @@ namespace :data do
317
332
  assure_data_schema_table
318
333
  puts "Current data version: #{DataMigrate::DataMigrator.current_version}"
319
334
  end
335
+
336
+ desc "Raises an error if there are pending data migrations"
337
+ task :abort_if_pending_migrations => :environment do
338
+ migrations = pending_data_migrations
339
+ if migrations.any?
340
+ puts "You have #{migrations.size} pending data #{'migration'.pluralize(migrations.size)}:"
341
+ migrations.each do |migration|
342
+ puts ' %4d %s' % [migration[:version], migration[:name]]
343
+ end
344
+ abort %{Run `rails data:migrate` to update your database then try again.}
345
+ end
346
+ end
320
347
  end
321
348
 
322
349
  def pending_migrations
@@ -326,7 +353,7 @@ end
326
353
  def pending_data_migrations
327
354
  data_migrations = DataMigrate::DataMigrator.migrations('db/data')
328
355
  sort_migrations DataMigrate::DataMigrator.new(:up, data_migrations ).
329
- pending_migrations.map{|m| { :version => m.version, :kind => :data }}
356
+ pending_migrations.map{|m| { :version => m.version, :kind => :data, :name => m.name }}
330
357
  end
331
358
 
332
359
  def pending_schema_migrations
@@ -334,7 +361,7 @@ def pending_schema_migrations
334
361
  sort_migrations(
335
362
  ActiveRecord::Migrator.new(:up, all_migrations).
336
363
  pending_migrations.
337
- map{|m| { :version => m.version, :kind => :schema }})
364
+ map{|m| { :version => m.version, :kind => :schema, :name => m.name }})
338
365
  end
339
366
 
340
367
  def sort_migrations set_1, set_2=nil
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: salsify-data_migrate
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Salsify, Inc
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-12 00:00:00.000000000 Z
11
+ date: 2017-06-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails