dynamic_migrations 3.5.1 → 3.5.2

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