dynamic_migrations 3.6.10 → 3.6.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -0
- data/lib/dynamic_migrations/active_record/migrators/function.rb +2 -2
- data/lib/dynamic_migrations/postgres/generator/enum.rb +2 -2
- data/lib/dynamic_migrations/postgres/generator/trigger.rb +9 -1
- data/lib/dynamic_migrations/postgres/server/database/differences/to_migrations.rb +1 -1
- data/lib/dynamic_migrations/version.rb +1 -1
- data/sig/dynamic_migrations/active_record/migrators/function.rbs +2 -2
- data/sig/dynamic_migrations/postgres/generator/validation_template_base.rbs +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 79b80c950a523a7f70c930e8c86774fa64009ae689f5164de3320dc8d55e4238
|
4
|
+
data.tar.gz: 649f3e0f23d676e97b8cf3c8389875ae2127701eb405c7c8947bf19de076b7f2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 94c1280b7c62a39f8337d1093731625b22049eab02b642f17a9c8d1e7f067ef90cabb1dcabda980acde0eb38639ddbd1d30c9b740d85535d0250295e032b2983
|
7
|
+
data.tar.gz: '0478e668cf87739da754981dd2be1acd6a21cdfb3ef41609043c12915a455a04ccf99f31e46b3d0a5630002a59ba6b085f65381a86ed1e4d17eeaa796e70b418'
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,20 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [3.6.12](https://github.com/craigulliott/dynamic_migrations/compare/v3.6.11...v3.6.12) (2023-09-13)
|
4
|
+
|
5
|
+
|
6
|
+
### Bug Fixes
|
7
|
+
|
8
|
+
* removing unused argument for create_function migrator ([bdb2ad5](https://github.com/craigulliott/dynamic_migrations/commit/bdb2ad58ff0c5aa3520eb38ab0d16b823014ce6e))
|
9
|
+
|
10
|
+
## [3.6.11](https://github.com/craigulliott/dynamic_migrations/compare/v3.6.10...v3.6.11) (2023-09-13)
|
11
|
+
|
12
|
+
|
13
|
+
### Bug Fixes
|
14
|
+
|
15
|
+
* injecting dependent_function into templated triggers ([9e770a3](https://github.com/craigulliott/dynamic_migrations/commit/9e770a352b176c7b10471e9185ac01feca538c0c))
|
16
|
+
* writing enums to the migration files as arrays of strings for more compatibility with special characters ([1910e0f](https://github.com/craigulliott/dynamic_migrations/commit/1910e0f709e5bd560696c2e2b3bd729c7a61e319))
|
17
|
+
|
3
18
|
## [3.6.10](https://github.com/craigulliott/dynamic_migrations/compare/v3.6.9...v3.6.10) (2023-09-13)
|
4
19
|
|
5
20
|
|
@@ -9,7 +9,7 @@ module DynamicMigrations
|
|
9
9
|
end
|
10
10
|
|
11
11
|
# create a postgres function
|
12
|
-
def create_function
|
12
|
+
def create_function function_name, comment: nil, &block
|
13
13
|
unless block
|
14
14
|
raise MissingFunctionBlockError, "create_function requires a block"
|
15
15
|
end
|
@@ -30,7 +30,7 @@ module DynamicMigrations
|
|
30
30
|
end
|
31
31
|
|
32
32
|
# update a postgres function
|
33
|
-
def update_function
|
33
|
+
def update_function function_name, comment: nil, &block
|
34
34
|
unless block
|
35
35
|
raise MissingFunctionBlockError, "create_function requires a block"
|
36
36
|
end
|
@@ -21,7 +21,7 @@ module DynamicMigrations
|
|
21
21
|
code_comment: code_comment,
|
22
22
|
migration: <<~RUBY
|
23
23
|
create_enum :#{enum.name}, [
|
24
|
-
|
24
|
+
"#{enum.values.join("\",\n \"")}"
|
25
25
|
]
|
26
26
|
RUBY
|
27
27
|
end
|
@@ -40,7 +40,7 @@ module DynamicMigrations
|
|
40
40
|
code_comment: code_comment,
|
41
41
|
migration: <<~RUBY
|
42
42
|
add_enum_values :#{updated_enum.name}, [
|
43
|
-
|
43
|
+
"#{added_values.join("\",\n \"")}"
|
44
44
|
]
|
45
45
|
RUBY
|
46
46
|
end
|
@@ -32,7 +32,15 @@ module DynamicMigrations
|
|
32
32
|
end
|
33
33
|
|
34
34
|
arguments = template_class.new(trigger, code_comment).fragment_arguments
|
35
|
-
|
35
|
+
|
36
|
+
# we only provide a dependent function if the function has more than one trigger
|
37
|
+
# or is in a different schema, otherwise it is added to the same migration as this
|
38
|
+
# trigger and we don't need to worry about dependencies
|
39
|
+
if trigger.function && (trigger.function.triggers.count > 1 || trigger.table.schema != trigger.function.schema)
|
40
|
+
add_fragment(dependent_function: trigger.function, **arguments)
|
41
|
+
else
|
42
|
+
add_fragment(**arguments)
|
43
|
+
end
|
36
44
|
|
37
45
|
# no template, process this as a default trigger (takes all options)
|
38
46
|
else
|
@@ -50,7 +50,7 @@ module DynamicMigrations
|
|
50
50
|
process_schema schema_name, differences[:configuration][:schemas][schema_name], differences[:database][:schemas][schema_name]
|
51
51
|
end
|
52
52
|
|
53
|
-
# return the migrations
|
53
|
+
# return the migrations (they are sorted via a dependency algorithm)
|
54
54
|
@generator.migrations
|
55
55
|
end
|
56
56
|
|
@@ -5,8 +5,8 @@ module DynamicMigrations
|
|
5
5
|
module ActiveRecord
|
6
6
|
module Migrators
|
7
7
|
module Function
|
8
|
-
def create_function: (Symbol
|
9
|
-
def update_function: (Symbol
|
8
|
+
def create_function: (Symbol function_name, ?comment: String?) -> void
|
9
|
+
def update_function: (Symbol function_name, ?comment: String?) -> void
|
10
10
|
def drop_function: (Symbol function_name) -> void
|
11
11
|
def set_function_comment: (Symbol function_name, String comment) -> void
|
12
12
|
def remove_function_comment: (Symbol function_name) -> void
|
@@ -12,7 +12,7 @@ module DynamicMigrations
|
|
12
12
|
def initialize: (untyped validation, untyped code_comment) -> void
|
13
13
|
|
14
14
|
# abstract method (should actually be added to child classes)
|
15
|
-
def fragment_arguments: -> {schema: Postgres::Server::Database::Schema, table: Postgres::Server::Database::Schema::Table, migration_method:
|
15
|
+
def fragment_arguments: -> {schema: Postgres::Server::Database::Schema, table: Postgres::Server::Database::Schema::Table, migration_method: Symbol, object: untyped, code_comment: String?, migration: String, dependent_function: Postgres::Server::Database::Schema::Function?}
|
16
16
|
|
17
17
|
private
|
18
18
|
def assert_not_deferred!: -> nil
|