safe-pg-migrations 0.0.2 → 0.0.3

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: e766b867ff3d15f71bdaaa161e595e51bd1b83b9
4
- data.tar.gz: b81ced0f60a21fe8e811962a614fc913ad97349a
3
+ metadata.gz: 064f4f95d22160ab489fbe40a4af338110144c74
4
+ data.tar.gz: 6c7e864e8b88251d9c3defb93c986af186e19a97
5
5
  SHA512:
6
- metadata.gz: cd45ef3561909949c81b0b9927ed8e3f2b58ab101fd5436f8cb11afb72696e0668bb1bc773c8d66693f07c17456ce9b75f046f20866d1780165f96fd1e17f4a5
7
- data.tar.gz: f0fca599eccc2ebb909c168ff9509e6f04ef6b16853aa4ae881a1274775b271f37881fe13c12edc4b03d4c7630d69010e3ef6f2401e861326c9380b8db588ef6
6
+ metadata.gz: 68157b6bbaf2f8b5a363f0796e7e98a5cfa19ccd6e6bdc2981e4b523dbc24b63fda023807c0d13964da544f1323d186ce180265e0f3f9e66dd6faa193d601baa
7
+ data.tar.gz: 7b0cc78b1552683538548f6ab57b05154f80009f022073c4c993d4226f1cda6f91576f0a090493b7f5f4dc61073ad6aaf1d63100e78ec984ee25c89d2b7770f3
data/README.md CHANGED
@@ -118,7 +118,7 @@ If a statement fails with a lock timeout, **Safe PG Migrations** will try to tel
118
118
 
119
119
  ```bash
120
120
  bundle
121
- psql -h localhost -c 'CREATE DATABASE safe_pg_migrations_test'
121
+ psql -h localhost -U postgres -c 'CREATE DATABASE safe_pg_migrations_test'
122
122
  rake test
123
123
  ```
124
124
 
@@ -126,6 +126,7 @@ rake test
126
126
 
127
127
  - [Matthieu Prat](https://github.com/matthieuprat)
128
128
  - [Romain Choquet](https://github.com/rchoquet)
129
+ - [Paul-Etienne Coisne](https://github.com/coisnepe)
129
130
 
130
131
  ## License
131
132
 
@@ -12,6 +12,20 @@ module SafePgMigrations
12
12
  super
13
13
  end
14
14
 
15
+ def remove_column(table_name, column_name, type = nil, options = {})
16
+ return super if column_exists?(table_name, column_name)
17
+
18
+ SafePgMigrations.say("/!\\ Column '#{column_name}' not found on table '#{table_name}'. Skipping statement.", true)
19
+ end
20
+
21
+ def remove_index(table_name, options = {})
22
+ index_name = options.key?(:name) ? options[:name].to_s : index_name(table_name, options)
23
+
24
+ return super if index_name_exists?(table_name, index_name)
25
+
26
+ SafePgMigrations.say("/!\\ Index '#{index_name}' not found on table '#{table_name}'. Skipping statement.", true)
27
+ end
28
+
15
29
  private
16
30
 
17
31
  def index_valid?(index_name)
@@ -3,8 +3,8 @@
3
3
  module SafePgMigrations
4
4
  module StatementRetrier
5
5
  RETRIABLE_SCHEMA_STATEMENTS = %i[
6
- add_column remove_column add_foreign_key remove_foreign_key change_column_default
7
- change_column_null add_index
6
+ add_column add_foreign_key remove_foreign_key change_column_default
7
+ change_column_null add_index remove_index remove_column
8
8
  ].freeze
9
9
 
10
10
  RETRIABLE_SCHEMA_STATEMENTS.each do |method|
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SafePgMigrations
4
- VERSION = '0.0.2'
4
+ VERSION = '0.0.3'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: safe-pg-migrations
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthieu Prat
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-10-17 00:00:00.000000000 Z
12
+ date: 2018-11-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord