online_migrations 0.5.0 → 0.5.1

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: c2515b6dd51e983fbcbdb448d33273e77d5b7f30ef53bc42dacb5127ac390fc8
4
- data.tar.gz: b099a129bfea91da13d1dbde5c08d18fb09ae195dd83b56495c5513a881f609f
3
+ metadata.gz: 95f3b31c9fe8edb868fade7dbdaed0ebf78d53da7a1ff52786a748663bc93bf5
4
+ data.tar.gz: 94c2fed042d39993d85f6641db3b4a86c3a360b3c858f48aeb2da052bb2c52cc
5
5
  SHA512:
6
- metadata.gz: '0220675939d3a08c0ecb16ba3e4a212bb40106d34478b7008c2458d2eebbead2c897873634589a6ae55b0665fdf0a02fb691432c639198c7c3a59e378c10d023'
7
- data.tar.gz: b3d9a76edb0f4e220790a7de2a2ba5f7930c9106599dd488f585f4003ae61166341feccd66cbc63965b5a181217fe5639eb17e836be48542b0070591c74b8ab6
6
+ metadata.gz: f844aa5e502a91739923039a8fb84d10ae9682404bd14bd4b92352400c6dae82963b21166178c72c47ea4ecbd0792b6f46da151d92ce205e217a5788c9a8b27a
7
+ data.tar.gz: 2db40b6b3cf81f923251f16a023aedbb18f8f24d28abb9e6b638090030c013c24dd6a41942df3e4f4cd1264c84c997eaaeb6adcb1c2d8d8844bc4934406f9ebc
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  ## master (unreleased)
2
2
 
3
+ ## 0.5.1 (2022-07-19)
4
+
5
+ - Raise for possible index corruption in all environments (previously, the check was made only
6
+ in the production environment)
7
+
3
8
  ## 0.5.0 (2022-06-23)
4
9
 
5
10
  - Added check for index corruption with PostgreSQL 14.0 to 14.3
@@ -100,7 +100,7 @@ module OnlineMigrations
100
100
  end.to_h
101
101
 
102
102
  if (extra_keys = (options.keys - conversions.keys)).any?
103
- raise ArgumentError, "Options has unknown keys: #{extra_keys.map(&:inspect).join(', ')}. "\
103
+ raise ArgumentError, "Options has unknown keys: #{extra_keys.map(&:inspect).join(', ')}. " \
104
104
  "Can contain only column names: #{conversions.keys.map(&:inspect).join(', ')}."
105
105
  end
106
106
 
@@ -400,7 +400,7 @@ module OnlineMigrations
400
400
 
401
401
  # This is necessary as we can't properly rename indexes such as "taggings_idx".
402
402
  unless index.name.include?(from_column)
403
- raise "The index #{index.name} can not be copied as it does not "\
403
+ raise "The index #{index.name} can not be copied as it does not " \
404
404
  "mention the old column. You have to rename this index manually first."
405
405
  end
406
406
 
@@ -597,15 +597,14 @@ module OnlineMigrations
597
597
  if Utils.developer_env? && (target_version = OnlineMigrations.config.target_version)
598
598
  target_version.to_s
599
599
  else
600
- # For rails 6.0+ we can use connection.database_version
601
- pg_connection = connection.raw_connection
602
- database_version = pg_connection.server_version
603
- patch = database_version % 100
604
- database_version /= 100
605
- minor = database_version % 100
606
- database_version /= 100
607
- major = database_version
608
- "#{major}.#{minor}.#{patch}"
600
+ database_version = connection.select_value("SHOW server_version_num").to_i
601
+ major = database_version / 10000
602
+ if database_version >= 100000
603
+ minor = database_version % 10000
604
+ else
605
+ minor = (database_version % 10000) / 100
606
+ end
607
+ "#{major}.#{minor}"
609
608
  end
610
609
 
611
610
  Gem::Version.new(version)
@@ -745,8 +744,7 @@ module OnlineMigrations
745
744
 
746
745
  def index_corruption?
747
746
  postgresql_version >= Gem::Version.new("14.0") &&
748
- postgresql_version < Gem::Version.new("14.4") &&
749
- !Utils.developer_env?
747
+ postgresql_version < Gem::Version.new("14.4")
750
748
  end
751
749
 
752
750
  def run_custom_checks(method, args)
@@ -404,7 +404,7 @@ module OnlineMigrations
404
404
  batch_options = options.extract!(:batch_size, :batch_column_name, :progress, :pause_ms)
405
405
 
406
406
  if column_exists?(table_name, column_name)
407
- Utils.say("Column was not created because it already exists (this may be due to an aborted migration "\
407
+ Utils.say("Column was not created because it already exists (this may be due to an aborted migration " \
408
408
  "or similar) table_name: #{table_name}, column_name: #{column_name}")
409
409
  else
410
410
  transaction do
@@ -655,7 +655,7 @@ module OnlineMigrations
655
655
  schema = __schema_for_table(table_name)
656
656
 
657
657
  if __index_valid?(index_name, schema: schema)
658
- Utils.say("Index was not created because it already exists (this may be due to an aborted migration "\
658
+ Utils.say("Index was not created because it already exists (this may be due to an aborted migration " \
659
659
  "or similar): table_name: #{table_name}, column_name: #{column_name}")
660
660
  return
661
661
  else
@@ -699,7 +699,7 @@ module OnlineMigrations
699
699
  end
700
700
  end
701
701
  else
702
- Utils.say("Index was not removed because it does not exist (this may be due to an aborted migration "\
702
+ Utils.say("Index was not removed because it does not exist (this may be due to an aborted migration " \
703
703
  "or similar): table_name: #{table_name}, column_name: #{column_names}")
704
704
  end
705
705
  end
@@ -768,7 +768,7 @@ module OnlineMigrations
768
768
  constraint_name = __check_constraint_name(table_name, expression: expression, **options)
769
769
 
770
770
  if __check_constraint_exists?(table_name, constraint_name)
771
- Utils.say("Check constraint was not created because it already exists (this may be due to an aborted migration "\
771
+ Utils.say("Check constraint was not created because it already exists (this may be due to an aborted migration " \
772
772
  "or similar) table_name: #{table_name}, expression: #{expression}, constraint name: #{constraint_name}")
773
773
  else
774
774
  query = "ALTER TABLE #{table_name} ADD CONSTRAINT #{constraint_name} CHECK (#{expression})"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OnlineMigrations
4
- VERSION = "0.5.0"
4
+ VERSION = "0.5.1"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: online_migrations
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - fatkodima
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-23 00:00:00.000000000 Z
11
+ date: 2022-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord