strong_migrations 1.6.1 → 1.6.3

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: 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