strong_migrations 1.6.1 → 1.6.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
  SHA256:
3
- metadata.gz: f84ebb54319b6d614f0908355239495e937676836e4dfaad26e0dc343f091343
4
- data.tar.gz: 9b5dc06db468b4ce8f5d3460267b185e2e6c69df236c65bfb74ddcd5b04b3546
3
+ metadata.gz: bd18b6da9358b37dfe07adbda611a65905173b4c4bd1aae1920588002d89afe6
4
+ data.tar.gz: 87f5393be68a9c685adbb38a29ac1980615f933f28b1b03634c2618af3db3963
5
5
  SHA512:
6
- metadata.gz: c3371f6b39b1c870efa5d2bc0737041ce3b1139c9f6a47e6018636007526ba437746917fee26721123ce17376a67829cd25c79fc9a8c29f2257f54189de314a9
7
- data.tar.gz: 9ad328fd87f0d32d071235a5425443b378b35cfb4ab5546fb768f9a92f3bd808baf316764b03b9b7aa315cc1c0b41e60b8857bb08def411665ee7832e7f24068
6
+ metadata.gz: 4bde3a8af5e9bae18dcf270155afeefb82b726d93c9b49ac7eeee72706af2c85a31401b8eb415b89f2df3c3234ec74b1c5b5fd48404da0b0cdb65d1c5d205099
7
+ data.tar.gz: 352f30e395b489175ef038d6bb418266a2ecdb7fb3f7b0df4dd1d5290994efae1962b87b8dc0e4a5a494718a781e7552ef9f530001880f493f497ac374beb6c9
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 1.6.3 (2023-09-20)
2
+
3
+ - Added support for Trilogy
4
+
5
+ ## 1.6.2 (2023-09-13)
6
+
7
+ - Fixed foreign key options with `add_reference` and `safe_by_default`
8
+ - Fixed `safety_assured` with `revert`
9
+
1
10
  ## 1.6.1 (2023-08-09)
2
11
 
3
12
  - Fixed `safety_assured` for custom checks with `safe_by_default`
@@ -5,22 +5,25 @@ module StrongMigrations
5
5
 
6
6
  attr_accessor :direction, :transaction_disabled, :timeouts_set
7
7
 
8
+ class << self
9
+ attr_accessor :safe
10
+ end
11
+
8
12
  def initialize(migration)
9
13
  @migration = migration
10
14
  @new_tables = []
11
15
  @new_columns = []
12
- @safe = false
13
16
  @timeouts_set = false
14
17
  @committed = false
15
18
  end
16
19
 
17
- def safety_assured
18
- previous_value = @safe
20
+ def self.safety_assured
21
+ previous_value = safe
19
22
  begin
20
- @safe = true
23
+ self.safe = true
21
24
  yield
22
25
  ensure
23
- @safe = previous_value
26
+ self.safe = previous_value
24
27
  end
25
28
  end
26
29
 
@@ -160,7 +163,7 @@ module StrongMigrations
160
163
  end
161
164
 
162
165
  def safe?
163
- @safe || ENV["SAFETY_ASSURED"] || (direction == :down && !StrongMigrations.check_down) || version_safe?
166
+ self.class.safe || ENV["SAFETY_ASSURED"] || (direction == :down && !StrongMigrations.check_down) || version_safe?
164
167
  end
165
168
 
166
169
  def version_safe?
@@ -177,7 +180,7 @@ module StrongMigrations
177
180
  case connection.adapter_name
178
181
  when /postg/i # PostgreSQL, PostGIS
179
182
  Adapters::PostgreSQLAdapter
180
- when /mysql/i
183
+ when /mysql|trilogy/i
181
184
  if connection.try(:mariadb?)
182
185
  Adapters::MariaDBAdapter
183
186
  else
@@ -21,7 +21,7 @@ module StrongMigrations
21
21
  ruby2_keywords(:method_missing) if respond_to?(:ruby2_keywords, true)
22
22
 
23
23
  def safety_assured
24
- strong_migrations_checker.safety_assured do
24
+ strong_migrations_checker.class.safety_assured do
25
25
  yield
26
26
  end
27
27
  end
@@ -30,10 +30,11 @@ module StrongMigrations
30
30
  (ActiveRecord::Base.pluralize_table_names ? reference.to_s.pluralize : reference).to_sym
31
31
  end
32
32
 
33
+ foreign_key_opts = foreign_key.is_a?(Hash) ? foreign_key.except(:to_table) : {}
33
34
  if reference
34
- @migration.add_foreign_key(table, name, column: "#{reference}_id")
35
+ @migration.add_foreign_key(table, name, column: "#{reference}_id", **foreign_key_opts)
35
36
  else
36
- @migration.add_foreign_key(table, name)
37
+ @migration.add_foreign_key(table, name, **foreign_key_opts)
37
38
  end
38
39
  end
39
40
  end
@@ -1,3 +1,3 @@
1
1
  module StrongMigrations
2
- VERSION = "1.6.1"
2
+ VERSION = "1.6.3"
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: 1.6.1
4
+ version: 1.6.3
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: 2023-08-09 00:00:00.000000000 Z
13
+ date: 2023-09-20 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activerecord