dynamic_migrations 3.5.1 → 3.5.2

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: 10d870837ddf3e4c71fa66f94012de4633865cb026e18ad436427439d670a1e5
4
- data.tar.gz: fc9a1eb789cce002adb18b08132de5618aa04b6effcb50ac4c2bd032594eaee1
3
+ metadata.gz: d618a9b98ed9b0f378f6e4342c57e6df554df34c600572a6aa55db61dbb32fad
4
+ data.tar.gz: a90d7e5fa28aa0f4dbc2d42a7545ed6207bc800baba766dd23c9bc0e73cfd0c6
5
5
  SHA512:
6
- metadata.gz: 6e0b1524b32ae7e2095a158914a230386e0b31cfdfb93c57aaf98775972501d3b11460cc96094abaee3a673abebdd2cdb5416ad7c921b4b33d2d0173fbf91dd1
7
- data.tar.gz: '0669156389241de166d9ae906180a87fa6f286677463bcbfec4323e1cc7f2e01675a10b1057a48341efce2f338011b6ae2fce83e66de4ff2eacf6bb61f120fd7'
6
+ metadata.gz: 33c0b803f4a4a01aff67b258ade285c2acf0420c0c611b918cf24405f5081497050bdcb726532b01fe4d832a086d15a4b37dc5a03c445772e7b6e863edd795c6
7
+ data.tar.gz: 7a00457cdb78107f62c43bd74647513817c1fbb0e4dbbc92bdc458aefc02030980fd074d03f2ada4399dd442f4152098024a492839fe98ccba2ad16ad4508356
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.5.2](https://github.com/craigulliott/dynamic_migrations/compare/v3.5.1...v3.5.2) (2023-09-11)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * accepting nil or false for existence check when calculating differences (because if the schema doesn't exist we wont have table objects to test against) ([c4112cc](https://github.com/craigulliott/dynamic_migrations/commit/c4112cccb5a887b78e15182cdb8bcfdbd80fd0c0))
9
+
3
10
  ## [3.5.1](https://github.com/craigulliott/dynamic_migrations/compare/v3.5.0...v3.5.1) (2023-09-11)
4
11
 
5
12
 
@@ -20,14 +20,14 @@ module DynamicMigrations
20
20
  def process_column schema_name, table_name, column_name, configuration_column, database_column
21
21
  # If the column exists in the configuration but not in the database
22
22
  # then we have to create it.
23
- if configuration_column[:exists] == true && database_column[:exists] == false
23
+ if configuration_column[:exists] == true && !database_column[:exists]
24
24
  # a migration to create the column
25
25
  column = @database.configured_schema(schema_name).table(table_name).column(column_name)
26
26
  @generator.add_column column
27
27
 
28
28
  # If the schema exists in the database but not in the configuration
29
29
  # then we need to delete it.
30
- elsif configuration_column[:exists] == false && database_column[:exists] == true
30
+ elsif database_column[:exists] == true && !configuration_column[:exists]
31
31
  # a migration to create the column
32
32
  column = @database.loaded_schema(schema_name).table(table_name).column(column_name)
33
33
  @generator.remove_column column
@@ -20,14 +20,14 @@ module DynamicMigrations
20
20
  def process_foreign_key_constraint schema_name, table_name, foreign_key_constraint_name, configuration_foreign_key_constraint, database_foreign_key_constraint
21
21
  # If the foreign_key_constraint exists in the configuration but not in the database
22
22
  # then we have to create it.
23
- if configuration_foreign_key_constraint[:exists] == true && database_foreign_key_constraint[:exists] == false
23
+ if configuration_foreign_key_constraint[:exists] == true && !database_foreign_key_constraint[:exists]
24
24
  # a migration to create the foreign_key_constraint
25
25
  foreign_key_constraint = @database.configured_schema(schema_name).table(table_name).foreign_key_constraint(foreign_key_constraint_name)
26
26
  @generator.add_foreign_key_constraint foreign_key_constraint
27
27
 
28
28
  # If the schema exists in the database but not in the configuration
29
29
  # then we need to delete it.
30
- elsif configuration_foreign_key_constraint[:exists] == false && database_foreign_key_constraint[:exists] == true
30
+ elsif database_foreign_key_constraint[:exists] == true && !configuration_foreign_key_constraint[:exists]
31
31
  # a migration to create the foreign_key_constraint
32
32
  foreign_key_constraint = @database.loaded_schema(schema_name).table(table_name).foreign_key_constraint(foreign_key_constraint_name)
33
33
  @generator.remove_foreign_key_constraint foreign_key_constraint
@@ -20,14 +20,14 @@ module DynamicMigrations
20
20
  def process_index schema_name, table_name, index_name, configuration_index, database_index
21
21
  # If the index exists in the configuration but not in the database
22
22
  # then we have to create it.
23
- if configuration_index[:exists] == true && database_index[:exists] == false
23
+ if configuration_index[:exists] == true && !database_index[:exists]
24
24
  # a migration to create the index
25
25
  index = @database.configured_schema(schema_name).table(table_name).index(index_name)
26
26
  @generator.add_index index
27
27
 
28
28
  # If the schema exists in the database but not in the configuration
29
29
  # then we need to delete it.
30
- elsif configuration_index[:exists] == false && database_index[:exists] == true
30
+ elsif database_index[:exists] == true && !configuration_index[:exists]
31
31
  # a migration to create the index
32
32
  index = @database.loaded_schema(schema_name).table(table_name).index(index_name)
33
33
  @generator.remove_index index
@@ -20,14 +20,14 @@ module DynamicMigrations
20
20
  def process_trigger schema_name, table_name, trigger_name, configuration_trigger, database_trigger
21
21
  # If the trigger exists in the configuration but not in the database
22
22
  # then we have to create it.
23
- if configuration_trigger[:exists] == true && database_trigger[:exists] == false
23
+ if configuration_trigger[:exists] == true && !database_trigger[:exists]
24
24
  # a migration to create the trigger
25
25
  trigger = @database.configured_schema(schema_name).table(table_name).trigger(trigger_name)
26
26
  @generator.add_trigger trigger
27
27
 
28
28
  # If the schema exists in the database but not in the configuration
29
29
  # then we need to delete it.
30
- elsif configuration_trigger[:exists] == false && database_trigger[:exists] == true
30
+ elsif database_trigger[:exists] == true && !configuration_trigger[:exists]
31
31
  # a migration to create the trigger
32
32
  trigger = @database.loaded_schema(schema_name).table(table_name).trigger(trigger_name)
33
33
  @generator.remove_trigger trigger
@@ -20,14 +20,14 @@ module DynamicMigrations
20
20
  def process_unique_constraint schema_name, table_name, unique_constraint_name, configuration_unique_constraint, database_unique_constraint
21
21
  # If the unique_constraint exists in the configuration but not in the database
22
22
  # then we have to create it.
23
- if configuration_unique_constraint[:exists] == true && database_unique_constraint[:exists] == false
23
+ if configuration_unique_constraint[:exists] == true && !database_unique_constraint[:exists]
24
24
  # a migration to create the unique_constraint
25
25
  unique_constraint = @database.configured_schema(schema_name).table(table_name).unique_constraint(unique_constraint_name)
26
26
  @generator.add_unique_constraint unique_constraint
27
27
 
28
28
  # If the schema exists in the database but not in the configuration
29
29
  # then we need to delete it.
30
- elsif configuration_unique_constraint[:exists] == false && database_unique_constraint[:exists] == true
30
+ elsif database_unique_constraint[:exists] == true && !configuration_unique_constraint[:exists]
31
31
  # a migration to create the unique_constraint
32
32
  unique_constraint = @database.loaded_schema(schema_name).table(table_name).unique_constraint(unique_constraint_name)
33
33
  @generator.remove_unique_constraint unique_constraint
@@ -20,14 +20,14 @@ module DynamicMigrations
20
20
  def process_validation schema_name, table_name, validation_name, configuration_validation, database_validation
21
21
  # If the validation exists in the configuration but not in the database
22
22
  # then we have to create it.
23
- if configuration_validation[:exists] == true && database_validation[:exists] == false
23
+ if configuration_validation[:exists] == true && !database_validation[:exists]
24
24
  # a migration to create the validation
25
25
  validation = @database.configured_schema(schema_name).table(table_name).validation(validation_name)
26
26
  @generator.add_validation validation
27
27
 
28
28
  # If the schema exists in the database but not in the configuration
29
29
  # then we need to delete it.
30
- elsif configuration_validation[:exists] == false && database_validation[:exists] == true
30
+ elsif database_validation[:exists] == true && !configuration_validation[:exists]
31
31
  # a migration to create the validation
32
32
  validation = @database.loaded_schema(schema_name).table(table_name).validation(validation_name)
33
33
  @generator.remove_validation validation
@@ -15,7 +15,7 @@ module DynamicMigrations
15
15
  def add_loaded_schema schema_name
16
16
  raise ExpectedSymbolError, schema_name unless schema_name.is_a? Symbol
17
17
  if has_loaded_schema? schema_name
18
- raise(LoadedSchemaAlreadyExistsError, "Loaded schema #{schema_name} already exists")
18
+ raise LoadedSchemaAlreadyExistsError, "Loaded schema #{schema_name} already exists"
19
19
  end
20
20
  included_target = self
21
21
  if included_target.is_a? Database
@@ -36,8 +36,12 @@ module DynamicMigrations
36
36
  # returns the loaded schema object for the provided schema name, and raises an
37
37
  # error if the schema does not exist
38
38
  def loaded_schema schema_name
39
- raise ExpectedSymbolError, schema_name unless schema_name.is_a? Symbol
40
- raise LoadedSchemaDoesNotExistError unless has_loaded_schema? schema_name
39
+ unless schema_name.is_a? Symbol
40
+ raise ExpectedSymbolError, schema_name
41
+ end
42
+ unless has_loaded_schema? schema_name
43
+ raise LoadedSchemaDoesNotExistError, "Loaded schema `#{schema_name}` does not exist"
44
+ end
41
45
  @loaded_schemas[schema_name]
42
46
  end
43
47
 
@@ -88,7 +88,8 @@ module DynamicMigrations
88
88
  end
89
89
  @action_condition = action_condition&.strip
90
90
 
91
- unless parameters.nil? || (parameters.is_a?(String) && parameters[/\A'[\w\d_ -]+'(, ?'[\w\d_ -]+')*\z/])
91
+ is_comma_sperated_list_of_strings = (parameters.is_a?(String) && parameters[/\A'[\w\d_ -]+'(, ?'[\w\d_ -]+')*\z/])
92
+ unless parameters.nil? || is_comma_sperated_list_of_strings
92
93
  raise UnexpectedParametersError, "unexpected parameters `#{parameters}`, currently only a comma seeparated list of strings is supported"
93
94
  end
94
95
  @parameters = parameters&.strip
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DynamicMigrations
4
- VERSION = "3.5.1"
4
+ VERSION = "3.5.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynamic_migrations
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.1
4
+ version: 3.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Craig Ulliott