strong_migrations 0.7.3 → 0.7.4

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
  SHA256:
3
- metadata.gz: '008201c52e7ae0bc2f0614b7b820b2dcb4c99c2ba1d270bd1cd4876bfa7c0258'
4
- data.tar.gz: 19907e788d2b789ed04f49cdbaac2db7c6ddfe42315dbe53a440514d4b419019
3
+ metadata.gz: 2bd2b26a8cb5d3577ffaad3878ff961dec2bc6cb55c51897b2681febbf8f0b10
4
+ data.tar.gz: b48c9ff1050345351a9f938c6dd6dc8530fbc4842e0fc3c60702287fa3fb825c
5
5
  SHA512:
6
- metadata.gz: 0231f799c80dc8dedbca766d45cc465d569d872ed2744c2348d31cac279d506e8118aacd5bb478833c7f10c427dc9ceff5c0e8aefe815090dbfbd927aaf0e13c
7
- data.tar.gz: ecabbcb9bf64a5e9709f0918497ea31cd36829e06db4a8bec375a87cd63faf6ffc3efc2c33c9ca0f5e524f5d397d01aac41bd31fe36e0af47dd0996c4cb75097
6
+ metadata.gz: 4bc2817b7878c3041442e4e4607db55b2861e7cba16220e635ee28a4b9ebd6dbd0a7ab16033555fa51f4f98601fe0eda198fa91e3030dfff63839c7cdc9aa028
7
+ data.tar.gz: 254e72cd2ce295759819f05cde920cf4c3ea9ae0d45af9f21d6ac11d55549d0d3544f97f511dc5b1dc0cf44c03c25af4208e4ab4f317449d9aabea90cd485b99
@@ -1,3 +1,8 @@
1
+ ## 0.7.4 (2020-12-16)
2
+
3
+ - Added `safe_by_default` option to install generator
4
+ - Fixed warnings with Active Record 6.1
5
+
1
6
  ## 0.7.3 (2020-11-24)
2
7
 
3
8
  - Added `safe_by_default` option
data/README.md CHANGED
@@ -583,7 +583,9 @@ end
583
583
 
584
584
  Certain methods like `execute` and `change_table` cannot be inspected and are prevented from running by default. Make sure what you’re doing is really safe and use this pattern.
585
585
 
586
- ## Safe by Default [experimental]
586
+ ## Safe by Default
587
+
588
+ *Experimental*
587
589
 
588
590
  Make operations safe by default.
589
591
 
@@ -13,8 +13,14 @@ module StrongMigrations
13
13
  Time.now.utc.strftime("%Y%m%d%H%M%S")
14
14
  end
15
15
 
16
+ def pgbouncer_message
17
+ if postgresql?
18
+ "\n# If you use PgBouncer in transaction mode, delete these lines and set timeouts on the database user"
19
+ end
20
+ end
21
+
16
22
  def target_version
17
- case ActiveRecord::Base.connection_config[:adapter].to_s
23
+ case adapter
18
24
  when /mysql/
19
25
  # could try to connect to database and check for MariaDB
20
26
  # but this should be fine
@@ -23,6 +29,14 @@ module StrongMigrations
23
29
  "10"
24
30
  end
25
31
  end
32
+
33
+ def adapter
34
+ ActiveRecord::Base.connection_config[:adapter].to_s
35
+ end
36
+
37
+ def postgresql?
38
+ adapter =~ /postg/
39
+ end
26
40
  end
27
41
  end
28
42
  end
@@ -1,8 +1,7 @@
1
1
  # Mark existing migrations as safe
2
2
  StrongMigrations.start_after = <%= start_after %>
3
3
 
4
- # Set timeouts for migrations
5
- # If you use PgBouncer in transaction mode, delete these lines and set timeouts on the database user
4
+ # Set timeouts for migrations<%= pgbouncer_message %>
6
5
  StrongMigrations.lock_timeout = 10.seconds
7
6
  StrongMigrations.statement_timeout = 1.hour
8
7
 
@@ -19,4 +18,8 @@ StrongMigrations.auto_analyze = true
19
18
  # if method == :add_index && args[0].to_s == "users"
20
19
  # stop! "No more indexes on the users table"
21
20
  # end
22
- # end
21
+ # end<% if postgresql? %>
22
+
23
+ # Make some operations safe by default
24
+ # See https://github.com/ankane/strong_migrations#safe-by-default
25
+ # StrongMigrations.safe_by_default = true<% end %>
@@ -7,12 +7,12 @@ module StrongMigrations
7
7
  # TODO check if invalid index with expected name exists and remove if needed
8
8
  def safe_add_index(table, columns, options)
9
9
  disable_transaction
10
- @migration.add_index(table, columns, options.merge(algorithm: :concurrently))
10
+ @migration.add_index(table, columns, **options.merge(algorithm: :concurrently))
11
11
  end
12
12
 
13
13
  def safe_remove_index(table, options)
14
14
  disable_transaction
15
- @migration.remove_index(table, options.merge(algorithm: :concurrently))
15
+ @migration.remove_index(table, **options.merge(algorithm: :concurrently))
16
16
  end
17
17
 
18
18
  def safe_add_reference(table, reference, options)
@@ -1,3 +1,3 @@
1
1
  module StrongMigrations
2
- VERSION = "0.7.3"
2
+ VERSION = "0.7.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: strong_migrations
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.3
4
+ version: 0.7.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kane
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2020-11-24 00:00:00.000000000 Z
13
+ date: 2020-12-16 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activerecord
@@ -138,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
138
138
  - !ruby/object:Gem::Version
139
139
  version: '0'
140
140
  requirements: []
141
- rubygems_version: 3.1.4
141
+ rubygems_version: 3.2.0.rc.1
142
142
  signing_key:
143
143
  specification_version: 4
144
144
  summary: Catch unsafe migrations in development