dynamic_migrations 3.5.1 → 3.5.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: 10d870837ddf3e4c71fa66f94012de4633865cb026e18ad436427439d670a1e5
4
- data.tar.gz: fc9a1eb789cce002adb18b08132de5618aa04b6effcb50ac4c2bd032594eaee1
3
+ metadata.gz: 8db557bd15584279e5453bf8e11664fbc5c9cbce80da60feaede298aa2931450
4
+ data.tar.gz: 52c990e7611103a9bc60daa33d673f7f9d62cf753253419d3a237c44394eeecf
5
5
  SHA512:
6
- metadata.gz: 6e0b1524b32ae7e2095a158914a230386e0b31cfdfb93c57aaf98775972501d3b11460cc96094abaee3a673abebdd2cdb5416ad7c921b4b33d2d0173fbf91dd1
7
- data.tar.gz: '0669156389241de166d9ae906180a87fa6f286677463bcbfec4323e1cc7f2e01675a10b1057a48341efce2f338011b6ae2fce83e66de4ff2eacf6bb61f120fd7'
6
+ metadata.gz: 5ba74991b8200a6b0725b77e6db992783f994ebebf6c362b92077757f11a0a5bd48cbf1b6a88c324caa23b461011a2248bfeafbb833610f7d82ad9a5e8d74291
7
+ data.tar.gz: 10ac70b56fe1a6c5ddd429321ee88b8134f3c1d20e9fe5ef70460f75117d73374a2d79893169b12289c755295491e99dc627f8ec851498a387cd6fe3812f0fdc
data/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.5.3](https://github.com/craigulliott/dynamic_migrations/compare/v3.5.2...v3.5.3) (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) ([de63879](https://github.com/craigulliott/dynamic_migrations/commit/de638791035a0a1ad4658149777aa6e2ac7dc2ed))
9
+
10
+ ## [3.5.2](https://github.com/craigulliott/dynamic_migrations/compare/v3.5.1...v3.5.2) (2023-09-11)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * 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))
16
+
3
17
  ## [3.5.1](https://github.com/craigulliott/dynamic_migrations/compare/v3.5.0...v3.5.1) (2023-09-11)
4
18
 
5
19
 
@@ -10,13 +10,13 @@ module DynamicMigrations
10
10
  def process_extension extension_name, configuration_extension, database_extension
11
11
  # if the extension exists in the configuration but not in the database
12
12
  # then we have to create it
13
- if configuration_extension[:exists] == true && database_extension[:exists] == false
13
+ if configuration_extension[:exists] == true && !database_extension[:exists]
14
14
  # a migration to create the extension
15
15
  @generator.create_extension extension_name
16
16
 
17
17
  # if the extension exists in the database but not in the configuration
18
18
  # then we need to delete it
19
- elsif configuration_extension[:exists] == false && database_extension[:exists] == true
19
+ elsif database_extension[:exists] == true && !configuration_extension[:exists]
20
20
  # a migration to drop the extension
21
21
  @generator.drop_extension extension_name
22
22
  end
@@ -19,7 +19,7 @@ module DynamicMigrations
19
19
  def process_enum schema_name, enum_name, configuration_enum, database_enum
20
20
  # If the enum exists in the configuration but not in the database
21
21
  # then we have to create it.
22
- if configuration_enum[:exists] == true && database_enum[:exists] == false
22
+ if configuration_enum[:exists] == true && !database_enum[:exists]
23
23
  # a migration to create the enum
24
24
  enum = @database.configured_schema(schema_name).enum(enum_name)
25
25
  @generator.create_enum enum
@@ -30,7 +30,7 @@ module DynamicMigrations
30
30
 
31
31
  # If the schema exists in the database but not in the configuration
32
32
  # then we need to delete it.
33
- elsif configuration_enum[:exists] == false && database_enum[:exists] == true
33
+ elsif database_enum[:exists] == true && !configuration_enum[:exists]
34
34
  # a migration to create the enum
35
35
  enum = @database.loaded_schema(schema_name).enum(enum_name)
36
36
  @generator.drop_enum enum
@@ -19,14 +19,14 @@ module DynamicMigrations
19
19
  def process_function schema_name, function_name, configuration_function, database_function
20
20
  # If the function exists in the configuration but not in the database
21
21
  # then we have to create it.
22
- if configuration_function[:exists] == true && database_function[:exists] == false
22
+ if configuration_function[:exists] == true && !database_function[:exists]
23
23
  # a migration to create the function
24
24
  function = @database.configured_schema(schema_name).function(function_name)
25
25
  @generator.create_function function
26
26
 
27
27
  # If the schema exists in the database but not in the configuration
28
28
  # then we need to delete it.
29
- elsif configuration_function[:exists] == false && database_function[:exists] == true
29
+ elsif database_function[:exists] == true && !configuration_function[:exists]
30
30
  # a migration to create the function
31
31
  function = @database.loaded_schema(schema_name).function(function_name)
32
32
  @generator.drop_function function
@@ -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
@@ -19,7 +19,7 @@ module DynamicMigrations
19
19
  def process_table schema_name, table_name, configuration_table, database_table
20
20
  # If the table exists in the configuration but not in the database
21
21
  # then we have to create it.
22
- if configuration_table[:exists] == true && database_table[:exists] == false
22
+ if configuration_table[:exists] == true && !database_table[:exists]
23
23
  # a migration to create the table
24
24
  table = @database.configured_schema(schema_name).table(table_name)
25
25
  @generator.create_table table
@@ -30,7 +30,7 @@ module DynamicMigrations
30
30
 
31
31
  # If the schema exists in the database but not in the configuration
32
32
  # then we need to delete it.
33
- elsif configuration_table[:exists] == false && database_table[:exists] == true
33
+ elsif database_table[:exists] == true && !configuration_table[:exists]
34
34
  # we process everything else before we drop the table, because the other
35
35
  # database objects are dependent on the table
36
36
  process_dependents schema_name, table_name, {}, database_table
@@ -10,7 +10,7 @@ module DynamicMigrations
10
10
  def process_schema schema_name, configuration_schema, database_schema
11
11
  # if the schema exists in the configuration but not in the database
12
12
  # then we have to create it
13
- if configuration_schema[:exists] == true && database_schema[:exists] == false
13
+ if configuration_schema[:exists] == true && !database_schema[:exists]
14
14
  # a migration to create the schema
15
15
  schema = @database.configured_schema schema_name
16
16
  @generator.create_schema schema
@@ -23,7 +23,7 @@ module DynamicMigrations
23
23
 
24
24
  # if the schema exists in the database but not in the configuration
25
25
  # then we need to delete it
26
- elsif configuration_schema[:exists] == false && database_schema[:exists] == true
26
+ elsif database_schema[:exists] == true && !configuration_schema[:exists]
27
27
  # we process the tables and functions before we drop the schema
28
28
  # as this will drop any dependencies on the schema
29
29
  process_functions schema_name, {}, database_schema[:functions]
@@ -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.3"
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.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Craig Ulliott