dynamic_migrations 3.4.0 → 3.5.0
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 +4 -4
- data/CHANGELOG.md +20 -0
- data/lib/dynamic_migrations/active_record/migrators/foreign_key_constraint.rb +14 -14
- data/lib/dynamic_migrations/postgres/generator/extension.rb +2 -2
- data/lib/dynamic_migrations/postgres/generator/migration.rb +2 -2
- data/lib/dynamic_migrations/postgres/server/database/schema/table/column.rb +3 -0
- data/lib/dynamic_migrations/version.rb +1 -1
- data/sig/dynamic_migrations/active_record/migrators/column.rbs +18 -0
- data/sig/dynamic_migrations/active_record/migrators/enum.rbs +22 -0
- data/sig/dynamic_migrations/active_record/migrators/foreign_key_constraint.rbs +29 -0
- data/sig/dynamic_migrations/active_record/migrators/function.rbs +28 -0
- data/sig/dynamic_migrations/active_record/migrators/index.rbs +17 -0
- data/sig/dynamic_migrations/active_record/migrators/schema.rbs +17 -0
- data/sig/dynamic_migrations/active_record/migrators/table.rbs +18 -0
- data/sig/dynamic_migrations/active_record/migrators/trigger.rbs +32 -0
- data/sig/dynamic_migrations/active_record/migrators/unique_constraint.rbs +20 -0
- data/sig/dynamic_migrations/active_record/migrators/validation.rbs +24 -0
- data/sig/dynamic_migrations/active_record/migrators.rbs +37 -0
- data/sig/dynamic_migrations/expected_boolean_error.rbs +4 -0
- data/sig/dynamic_migrations/expected_integer_error.rbs +4 -0
- data/sig/dynamic_migrations/expected_string_error.rbs +4 -0
- data/sig/dynamic_migrations/expected_symbol_error.rbs +4 -0
- data/sig/dynamic_migrations/invalid_source_error.rbs +5 -0
- data/sig/dynamic_migrations/module_included_into_unexpected_target_error.rbs +7 -0
- data/sig/dynamic_migrations/name_helper.rbs +5 -0
- data/sig/dynamic_migrations/postgres/connections.rbs +12 -0
- data/sig/dynamic_migrations/postgres/generator/column.rbs +24 -0
- data/sig/dynamic_migrations/postgres/generator/database_migration.rbs +12 -0
- data/sig/dynamic_migrations/postgres/generator/enum.rbs +23 -0
- data/sig/dynamic_migrations/postgres/generator/extension.rbs +16 -0
- data/sig/dynamic_migrations/postgres/generator/foreign_key_constraint.rbs +21 -0
- data/sig/dynamic_migrations/postgres/generator/fragment.rbs +32 -0
- data/sig/dynamic_migrations/postgres/generator/function.rbs +21 -0
- data/sig/dynamic_migrations/postgres/generator/index.rbs +21 -0
- data/sig/dynamic_migrations/postgres/generator/migration.rbs +58 -0
- data/sig/dynamic_migrations/postgres/generator/migration_dependency_sorter.rbs +12 -0
- data/sig/dynamic_migrations/postgres/generator/primary_key.rbs +20 -0
- data/sig/dynamic_migrations/postgres/generator/schema.rbs +17 -0
- data/sig/dynamic_migrations/postgres/generator/schema_migration.rbs +13 -0
- data/sig/dynamic_migrations/postgres/generator/table.rbs +30 -0
- data/sig/dynamic_migrations/postgres/generator/table_migration.rbs +12 -0
- data/sig/dynamic_migrations/postgres/generator/trigger.rbs +22 -0
- data/sig/dynamic_migrations/postgres/generator/unique_constraint.rbs +21 -0
- data/sig/dynamic_migrations/postgres/generator/validation.rbs +21 -0
- data/sig/dynamic_migrations/postgres/generator.rbs +57 -0
- data/sig/dynamic_migrations/postgres/server/database/configured_extensions.rbs +18 -0
- data/sig/dynamic_migrations/postgres/server/database/configured_schemas.rbs +23 -0
- data/sig/dynamic_migrations/postgres/server/database/connection.rbs +29 -0
- data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/extensions.rbs +22 -0
- data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/enums.rbs +24 -0
- data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/functions.rbs +24 -0
- data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/columns.rbs +26 -0
- data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/foreign_key_constraints.rbs +26 -0
- data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/indexes.rbs +26 -0
- data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/primary_key.rbs +25 -0
- data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/triggers.rbs +26 -0
- data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/unique_constraints.rbs +26 -0
- data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/validations.rbs +26 -0
- data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables.rbs +33 -0
- data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas.rbs +30 -0
- data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations.rbs +47 -0
- data/sig/dynamic_migrations/postgres/server/database/differences.rbs +54 -0
- data/sig/dynamic_migrations/postgres/server/database/enums_loader.rbs +18 -0
- data/sig/dynamic_migrations/postgres/server/database/extensions_loader.rbs +17 -0
- data/sig/dynamic_migrations/postgres/server/database/keys_and_unique_constraints_loader.rbs +15 -0
- data/sig/dynamic_migrations/postgres/server/database/loaded_extensions.rbs +19 -0
- data/sig/dynamic_migrations/postgres/server/database/loaded_schemas.rbs +23 -0
- data/sig/dynamic_migrations/postgres/server/database/loaded_schemas_builder.rbs +27 -0
- data/sig/dynamic_migrations/postgres/server/database/schema/enum.rbs +28 -0
- data/sig/dynamic_migrations/postgres/server/database/schema/enums.rbs +31 -0
- data/sig/dynamic_migrations/postgres/server/database/schema/function.rbs +30 -0
- data/sig/dynamic_migrations/postgres/server/database/schema/functions.rbs +31 -0
- data/sig/dynamic_migrations/postgres/server/database/schema/table/column.rbs +28 -0
- data/sig/dynamic_migrations/postgres/server/database/schema/table/columns.rbs +30 -0
- data/sig/dynamic_migrations/postgres/server/database/schema/table/foreign_key_constraint.rbs +55 -0
- data/sig/dynamic_migrations/postgres/server/database/schema/table/foreign_key_constraints.rbs +32 -0
- data/sig/dynamic_migrations/postgres/server/database/schema/table/index.rbs +62 -0
- data/sig/dynamic_migrations/postgres/server/database/schema/table/indexes.rbs +31 -0
- data/sig/dynamic_migrations/postgres/server/database/schema/table/primary_key.rbs +40 -0
- data/sig/dynamic_migrations/postgres/server/database/schema/table/trigger.rbs +61 -0
- data/sig/dynamic_migrations/postgres/server/database/schema/table/triggers.rbs +33 -0
- data/sig/dynamic_migrations/postgres/server/database/schema/table/unique_constraint.rbs +49 -0
- data/sig/dynamic_migrations/postgres/server/database/schema/table/unique_constraints.rbs +31 -0
- data/sig/dynamic_migrations/postgres/server/database/schema/table/validation.rbs +43 -0
- data/sig/dynamic_migrations/postgres/server/database/schema/table/validations.rbs +31 -0
- data/sig/dynamic_migrations/postgres/server/database/schema/table.rbs +38 -0
- data/sig/dynamic_migrations/postgres/server/database/schema/tables.rbs +28 -0
- data/sig/dynamic_migrations/postgres/server/database/schema.rbs +21 -0
- data/sig/dynamic_migrations/postgres/server/database/source.rbs +18 -0
- data/sig/dynamic_migrations/postgres/server/database/structure_loader.rbs +19 -0
- data/sig/dynamic_migrations/postgres/server/database/triggers_and_functions_loader.rbs +20 -0
- data/sig/dynamic_migrations/postgres/server/database/validations_loader.rbs +15 -0
- data/sig/dynamic_migrations/postgres/server/database.rbs +34 -0
- data/sig/dynamic_migrations/postgres/server.rbs +19 -0
- data/sig/dynamic_migrations/postgres.rbs +4 -0
- data/sig/dynamic_migrations.rbs +6 -0
- data/sig/pg.rbs +20 -0
- data/sig/tsort.rbs +3 -0
- metadata +93 -2
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
module DynamicMigrations
|
|
2
|
+
module Postgres
|
|
3
|
+
class Server
|
|
4
|
+
class Database
|
|
5
|
+
class Schema
|
|
6
|
+
class Table
|
|
7
|
+
class PrimaryKey < Source
|
|
8
|
+
@columns: Hash[Symbol, Column]
|
|
9
|
+
|
|
10
|
+
attr_reader table: Table
|
|
11
|
+
attr_reader name: Symbol
|
|
12
|
+
attr_reader description: String?
|
|
13
|
+
|
|
14
|
+
def initialize: (database_or_configuration source, Table table, Array[Column] columns, Symbol name, ?description: String?) -> void
|
|
15
|
+
def columns: -> Array[Column]
|
|
16
|
+
def column_names: -> Array[Symbol]
|
|
17
|
+
def has_description?: -> bool
|
|
18
|
+
def differences_descriptions: (PrimaryKey other_primary_key) -> Array[String]
|
|
19
|
+
|
|
20
|
+
private
|
|
21
|
+
def add_column: (Column column) -> void
|
|
22
|
+
|
|
23
|
+
class ExpectedTableError < StandardError
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
class ExpectedArrayOfColumnsError < StandardError
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
class UnexpectedIndexTypeError < StandardError
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
class DuplicateColumnError < StandardError
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# TypeProf 0.21.7
|
|
2
|
+
|
|
3
|
+
# Classes
|
|
4
|
+
module DynamicMigrations
|
|
5
|
+
module Postgres
|
|
6
|
+
class Server
|
|
7
|
+
class Database
|
|
8
|
+
class Schema
|
|
9
|
+
class Table
|
|
10
|
+
class Trigger < Source
|
|
11
|
+
@action_order: Integer?
|
|
12
|
+
attr_reader table: Table
|
|
13
|
+
attr_reader name: Symbol
|
|
14
|
+
attr_reader event_manipulation: Symbol
|
|
15
|
+
attr_reader action_timing: Symbol
|
|
16
|
+
attr_reader action_condition: String?
|
|
17
|
+
attr_reader parameters: String?
|
|
18
|
+
attr_reader action_orientation: Symbol
|
|
19
|
+
attr_reader function: Function
|
|
20
|
+
attr_reader action_reference_old_table: Symbol?
|
|
21
|
+
attr_reader action_reference_new_table: Symbol?
|
|
22
|
+
attr_reader description: String?
|
|
23
|
+
|
|
24
|
+
def initialize: (database_or_configuration source, Table table, Symbol name, action_timing: Symbol, event_manipulation: Symbol, parameters: String?, action_orientation: Symbol, function: Function, ?action_order: Integer?, ?action_condition: String?, ?action_reference_old_table: Symbol?, ?action_reference_new_table: Symbol?, ?description: String?) -> void
|
|
25
|
+
def action_order: -> Integer
|
|
26
|
+
def has_description?: -> false
|
|
27
|
+
def differences_descriptions: (Trigger other_trigger) -> Array[String]
|
|
28
|
+
|
|
29
|
+
class ExpectedTableError < StandardError
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
class UnexpectedEventManipulationError < StandardError
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
class UnexpectedParametersError < StandardError
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
class UnexpectedActionOrientationError < StandardError
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
class UnexpectedActionTimingError < StandardError
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
class ExpectedOldRecordsTableError < StandardError
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
class ExpectedNewRecordsTableError < StandardError
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
class ExpectedFunctionError < StandardError
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
class UnexpectedActionOrderError < StandardError
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# TypeProf 0.21.7
|
|
2
|
+
|
|
3
|
+
# Classes
|
|
4
|
+
module DynamicMigrations
|
|
5
|
+
module Postgres
|
|
6
|
+
class Server
|
|
7
|
+
class Database
|
|
8
|
+
class Schema
|
|
9
|
+
class Table
|
|
10
|
+
module Triggers
|
|
11
|
+
@triggers: Hash[Symbol, Trigger]
|
|
12
|
+
|
|
13
|
+
def trigger: (Symbol name) -> Trigger
|
|
14
|
+
def has_trigger?: (untyped name) -> bool
|
|
15
|
+
def triggers: -> Array[Trigger]
|
|
16
|
+
def triggers_hash: -> Hash[Symbol, Trigger]
|
|
17
|
+
def add_trigger: (Symbol name, action_timing: Symbol, event_manipulation: Symbol, parameters: String, action_orientation: Symbol, function: Function, ?action_order: Integer?, ?action_condition: String?, ?action_reference_old_table: Symbol?, ?action_reference_new_table: Symbol?, ?description: String?) -> Trigger
|
|
18
|
+
|
|
19
|
+
# these come from the table object (which this module is included into)
|
|
20
|
+
def source: -> database_or_configuration
|
|
21
|
+
|
|
22
|
+
class TriggerDoesNotExistError < StandardError
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
class TriggerAlreadyExistsError < StandardError
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
module DynamicMigrations
|
|
2
|
+
module Postgres
|
|
3
|
+
class Server
|
|
4
|
+
class Database
|
|
5
|
+
class Schema
|
|
6
|
+
class Table
|
|
7
|
+
class UniqueConstraint < Source
|
|
8
|
+
INDEX_TYPES: [:btree, :hash, :gist, :gin, :bring, :spgist]
|
|
9
|
+
@columns: Hash[Symbol, Column]
|
|
10
|
+
|
|
11
|
+
attr_reader table: Table
|
|
12
|
+
attr_reader name: Symbol
|
|
13
|
+
attr_reader deferrable: bool
|
|
14
|
+
attr_reader initially_deferred: bool
|
|
15
|
+
attr_reader description: String?
|
|
16
|
+
|
|
17
|
+
def initialize: (database_or_configuration source, Table table, Array[Column] columns, Symbol name, ?deferrable: bool, ?initially_deferred: bool, ?description: String?) -> void
|
|
18
|
+
def columns: -> Array[Column]
|
|
19
|
+
def column_names: -> Array[Symbol]
|
|
20
|
+
def has_description?: -> bool
|
|
21
|
+
def differences_descriptions: (UniqueConstraint other_unique_constraint) -> Array[String]
|
|
22
|
+
|
|
23
|
+
private
|
|
24
|
+
def add_column: (Column column) -> void
|
|
25
|
+
|
|
26
|
+
class ExpectedTableError < StandardError
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
class ExpectedArrayOfColumnsError < StandardError
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
class UnexpectedIndexTypeError < StandardError
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
class UnexpectedOrderError < StandardError
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
class UnexpectedNullsPositionError < StandardError
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
class DuplicateColumnError < StandardError
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
module DynamicMigrations
|
|
2
|
+
module Postgres
|
|
3
|
+
class Server
|
|
4
|
+
class Database
|
|
5
|
+
class Schema
|
|
6
|
+
class Table
|
|
7
|
+
module UniqueConstraints
|
|
8
|
+
@unique_constraints: Hash[Symbol, UniqueConstraint]
|
|
9
|
+
|
|
10
|
+
def unique_constraint: (Symbol name) -> UniqueConstraint
|
|
11
|
+
def has_unique_constraint?: (Symbol name) -> bool
|
|
12
|
+
def unique_constraints: -> Array[UniqueConstraint]
|
|
13
|
+
def unique_constraints_hash: -> Hash[Symbol, UniqueConstraint]
|
|
14
|
+
def add_unique_constraint: (Symbol name, Array[Symbol] column_names, **untyped) -> UniqueConstraint
|
|
15
|
+
|
|
16
|
+
# these come from the table object (which this module is included into)
|
|
17
|
+
def source: -> database_or_configuration
|
|
18
|
+
def column: (Symbol column_name) -> Column
|
|
19
|
+
|
|
20
|
+
class UniqueConstraintDoesNotExistError < StandardError
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
class UniqueConstraintAlreadyExistsError < StandardError
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
module DynamicMigrations
|
|
2
|
+
module Postgres
|
|
3
|
+
class Server
|
|
4
|
+
class Database
|
|
5
|
+
class Schema
|
|
6
|
+
class Table
|
|
7
|
+
class Validation < Source
|
|
8
|
+
@columns: Hash[Symbol, Column]
|
|
9
|
+
|
|
10
|
+
attr_reader table: Table
|
|
11
|
+
attr_reader name: Symbol
|
|
12
|
+
attr_reader check_clause: String
|
|
13
|
+
attr_reader deferrable: bool
|
|
14
|
+
attr_reader initially_deferred: bool
|
|
15
|
+
attr_reader description: String?
|
|
16
|
+
|
|
17
|
+
def initialize: (database_or_configuration source, Table table, Array[Column] columns, Symbol name, String check_clause, ?deferrable: bool, ?initially_deferred: bool, ?description: String?) -> void
|
|
18
|
+
def columns: -> Array[Column]
|
|
19
|
+
def column_names: -> Array[Symbol]
|
|
20
|
+
def has_description?: -> bool
|
|
21
|
+
def differences_descriptions: (Validation other_validation) -> Array[String]
|
|
22
|
+
|
|
23
|
+
private
|
|
24
|
+
def add_column: (Column column) -> void
|
|
25
|
+
|
|
26
|
+
class ExpectedTableError < StandardError
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
class ExpectedArrayOfColumnsError < StandardError
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
class DuplicateColumnError < StandardError
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
class ModuleIncludedIntoUnexpectedTargetError < StandardError
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
module DynamicMigrations
|
|
2
|
+
module Postgres
|
|
3
|
+
class Server
|
|
4
|
+
class Database
|
|
5
|
+
class Schema
|
|
6
|
+
class Table
|
|
7
|
+
module Validations
|
|
8
|
+
@validations: Hash[Symbol, Validation]
|
|
9
|
+
|
|
10
|
+
def validation: (Symbol name) -> Validation
|
|
11
|
+
def has_validation?: (Symbol name) -> bool
|
|
12
|
+
def validations: -> Array[Validation]
|
|
13
|
+
def validations_hash: -> Hash[Symbol, Validation]
|
|
14
|
+
def add_validation: (Symbol name, Array[Symbol] column_names, String check_clause, **untyped) -> untyped
|
|
15
|
+
|
|
16
|
+
# these come from the table object (which this module is included into)
|
|
17
|
+
def source: -> database_or_configuration
|
|
18
|
+
def column: (Symbol column_name) -> Column
|
|
19
|
+
|
|
20
|
+
class ValidationDoesNotExistError < StandardError
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
class ValidationAlreadyExistsError < StandardError
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
module DynamicMigrations
|
|
2
|
+
module Postgres
|
|
3
|
+
class Server
|
|
4
|
+
class Database
|
|
5
|
+
class Schema
|
|
6
|
+
class Table < Source
|
|
7
|
+
@primary_key: PrimaryKey | nil
|
|
8
|
+
|
|
9
|
+
include Columns
|
|
10
|
+
include Validations
|
|
11
|
+
include Indexes
|
|
12
|
+
include ForeignKeyConstraints
|
|
13
|
+
include UniqueConstraints
|
|
14
|
+
include Triggers
|
|
15
|
+
|
|
16
|
+
attr_reader schema: Schema
|
|
17
|
+
attr_reader name: Symbol
|
|
18
|
+
attr_reader description: String?
|
|
19
|
+
def initialize: (database_or_configuration source, Schema schema, Symbol name, ?description: String?) -> void
|
|
20
|
+
def has_description?: -> bool
|
|
21
|
+
def add_primary_key: (Symbol name, Array[Symbol] column_names, **untyped) -> untyped
|
|
22
|
+
def has_primary_key?: -> bool
|
|
23
|
+
def primary_key: -> PrimaryKey
|
|
24
|
+
|
|
25
|
+
class ExpectedSchemaError < StandardError
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
class PrimaryKeyDoesNotExistError < StandardError
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
class PrimaryKeyAlreadyExistsError < StandardError
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module DynamicMigrations
|
|
2
|
+
module Postgres
|
|
3
|
+
class Server
|
|
4
|
+
class Database
|
|
5
|
+
class Schema < Source
|
|
6
|
+
module Tables
|
|
7
|
+
@tables: Hash[Symbol, Table]
|
|
8
|
+
|
|
9
|
+
def add_table: (Symbol table_name, ?description: String?) -> Table
|
|
10
|
+
def table: (Symbol table_name) -> Table
|
|
11
|
+
def has_table?: (Symbol table_name) -> bool
|
|
12
|
+
def tables: -> Array[Table]
|
|
13
|
+
def tables_hash: -> Hash[Symbol, Table]
|
|
14
|
+
|
|
15
|
+
# these come from the schema object (which this module is included into)
|
|
16
|
+
def source: -> database_or_configuration
|
|
17
|
+
|
|
18
|
+
class TableAlreadyExistsError < StandardError
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
class TableDoesNotExistError < StandardError
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module DynamicMigrations
|
|
2
|
+
module Postgres
|
|
3
|
+
class Server
|
|
4
|
+
class Database
|
|
5
|
+
class Schema < Source
|
|
6
|
+
include Functions
|
|
7
|
+
include Tables
|
|
8
|
+
include Enums
|
|
9
|
+
|
|
10
|
+
attr_reader database: Database
|
|
11
|
+
attr_reader name: Symbol
|
|
12
|
+
def initialize: (database_or_configuration source, Database database, Symbol name) -> void
|
|
13
|
+
|
|
14
|
+
class ExpectedDatabaseError < StandardError
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
module DynamicMigrations
|
|
2
|
+
module Postgres
|
|
3
|
+
class Server
|
|
4
|
+
class Database
|
|
5
|
+
class Source
|
|
6
|
+
attr_reader source: database_or_configuration
|
|
7
|
+
def initialize: (database_or_configuration source) -> void
|
|
8
|
+
def from_configuration?: -> bool
|
|
9
|
+
def from_database?: -> bool
|
|
10
|
+
def assert_is_a_symbol!: (untyped value) -> true
|
|
11
|
+
|
|
12
|
+
private
|
|
13
|
+
def method_differences_descriptions: (untyped other_object, Array[Symbol]) -> Array[String]
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module DynamicMigrations
|
|
2
|
+
module Postgres
|
|
3
|
+
class Server
|
|
4
|
+
class Database
|
|
5
|
+
module StructureLoader
|
|
6
|
+
def create_database_structure_cache: -> void
|
|
7
|
+
def fetch_structure: -> Hash[untyped, untyped]
|
|
8
|
+
def recursively_load_database_structure: -> void
|
|
9
|
+
def fetch_schema_names: -> Array[String]
|
|
10
|
+
def fetch_table_names: (Symbol schema_name) -> Array[String]
|
|
11
|
+
|
|
12
|
+
# these come from the database object (which this module is included into)
|
|
13
|
+
def connection: -> PG::Connection
|
|
14
|
+
def add_loaded_schema: (Symbol schema_name) -> untyped
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# TypeProf 0.21.7
|
|
2
|
+
|
|
3
|
+
# Classes
|
|
4
|
+
module DynamicMigrations
|
|
5
|
+
module Postgres
|
|
6
|
+
class Server
|
|
7
|
+
class Database
|
|
8
|
+
module TriggersAndFunctionsLoader
|
|
9
|
+
def fetch_triggers_and_functions: -> Hash[untyped, untyped]
|
|
10
|
+
|
|
11
|
+
# these come from the database object (which this module is included into)
|
|
12
|
+
def connection: -> PG::Connection
|
|
13
|
+
|
|
14
|
+
class EventTriggerProcedureSchemaMismatchError < StandardError
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module DynamicMigrations
|
|
2
|
+
module Postgres
|
|
3
|
+
class Server
|
|
4
|
+
class Database
|
|
5
|
+
module ValidationsLoader
|
|
6
|
+
def create_database_validations_cache: -> void
|
|
7
|
+
def fetch_validations: -> Hash[untyped, untyped]
|
|
8
|
+
|
|
9
|
+
# these come from the database object (which this module is included into)
|
|
10
|
+
def connection: -> PG::Connection
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
module DynamicMigrations
|
|
2
|
+
module Postgres
|
|
3
|
+
class Server
|
|
4
|
+
class Database
|
|
5
|
+
@configured_schemas: Hash[Symbol, Schema]
|
|
6
|
+
@loaded_schemas: Hash[Symbol, Schema]
|
|
7
|
+
@configured_extensions: Hash[Symbol, true]
|
|
8
|
+
@loaded_extensions: Hash[Symbol, true]
|
|
9
|
+
|
|
10
|
+
include Connection
|
|
11
|
+
include StructureLoader
|
|
12
|
+
include ValidationsLoader
|
|
13
|
+
include KeysAndUniqueConstraintsLoader
|
|
14
|
+
include TriggersAndFunctionsLoader
|
|
15
|
+
include LoadedSchemas
|
|
16
|
+
include ConfiguredSchemas
|
|
17
|
+
include LoadedSchemasBuilder
|
|
18
|
+
include ConfiguredExtensions
|
|
19
|
+
include LoadedExtensions
|
|
20
|
+
include EnumsLoader
|
|
21
|
+
include ExtensionsLoader
|
|
22
|
+
|
|
23
|
+
attr_reader server: Server
|
|
24
|
+
attr_reader name: Symbol
|
|
25
|
+
def initialize: (Server server, Symbol name) -> void
|
|
26
|
+
def schema: (Symbol schema_name, database_or_configuration source) -> untyped
|
|
27
|
+
def differences: -> Differences
|
|
28
|
+
|
|
29
|
+
class ExpectedServerError < StandardError
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module DynamicMigrations
|
|
2
|
+
module Postgres
|
|
3
|
+
class Server
|
|
4
|
+
@databases: Hash[Symbol, Database]
|
|
5
|
+
|
|
6
|
+
attr_reader host: String
|
|
7
|
+
attr_reader port: Integer
|
|
8
|
+
attr_reader username: String
|
|
9
|
+
attr_reader password: String
|
|
10
|
+
def initialize: (String host, Integer port, String username, String password) -> void
|
|
11
|
+
def add_database: (Symbol database_name) -> Database
|
|
12
|
+
def database: (Symbol database_name) -> Database
|
|
13
|
+
def databases: -> Array[Database]
|
|
14
|
+
|
|
15
|
+
class DatabaseAlreadyExistsError < StandardError
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
data/sig/pg.rbs
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module PG
|
|
2
|
+
class Connection
|
|
3
|
+
def close: () -> void
|
|
4
|
+
def exec: (String sql) -> Array[Hash[String, String]]
|
|
5
|
+
def exec_params: (String sql, *untyped) -> Array[Hash[String, String]]
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def self.connect: (
|
|
9
|
+
host: String,
|
|
10
|
+
port: Integer,
|
|
11
|
+
user: String,
|
|
12
|
+
password: String?,
|
|
13
|
+
dbname: Symbol,
|
|
14
|
+
sslmode: "prefer"
|
|
15
|
+
|
|
16
|
+
) -> Connection
|
|
17
|
+
|
|
18
|
+
class UndefinedTable < StandardError
|
|
19
|
+
end
|
|
20
|
+
end
|
data/sig/tsort.rbs
ADDED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dynamic_migrations
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Craig Ulliott
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-
|
|
11
|
+
date: 2023-09-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: pg
|
|
@@ -154,6 +154,97 @@ files:
|
|
|
154
154
|
- lib/dynamic_migrations/postgres/server/database/triggers_and_functions_loader.rb
|
|
155
155
|
- lib/dynamic_migrations/postgres/server/database/validations_loader.rb
|
|
156
156
|
- lib/dynamic_migrations/version.rb
|
|
157
|
+
- sig/dynamic_migrations.rbs
|
|
158
|
+
- sig/dynamic_migrations/active_record/migrators.rbs
|
|
159
|
+
- sig/dynamic_migrations/active_record/migrators/column.rbs
|
|
160
|
+
- sig/dynamic_migrations/active_record/migrators/enum.rbs
|
|
161
|
+
- sig/dynamic_migrations/active_record/migrators/foreign_key_constraint.rbs
|
|
162
|
+
- sig/dynamic_migrations/active_record/migrators/function.rbs
|
|
163
|
+
- sig/dynamic_migrations/active_record/migrators/index.rbs
|
|
164
|
+
- sig/dynamic_migrations/active_record/migrators/schema.rbs
|
|
165
|
+
- sig/dynamic_migrations/active_record/migrators/table.rbs
|
|
166
|
+
- sig/dynamic_migrations/active_record/migrators/trigger.rbs
|
|
167
|
+
- sig/dynamic_migrations/active_record/migrators/unique_constraint.rbs
|
|
168
|
+
- sig/dynamic_migrations/active_record/migrators/validation.rbs
|
|
169
|
+
- sig/dynamic_migrations/expected_boolean_error.rbs
|
|
170
|
+
- sig/dynamic_migrations/expected_integer_error.rbs
|
|
171
|
+
- sig/dynamic_migrations/expected_string_error.rbs
|
|
172
|
+
- sig/dynamic_migrations/expected_symbol_error.rbs
|
|
173
|
+
- sig/dynamic_migrations/invalid_source_error.rbs
|
|
174
|
+
- sig/dynamic_migrations/module_included_into_unexpected_target_error.rbs
|
|
175
|
+
- sig/dynamic_migrations/name_helper.rbs
|
|
176
|
+
- sig/dynamic_migrations/postgres.rbs
|
|
177
|
+
- sig/dynamic_migrations/postgres/connections.rbs
|
|
178
|
+
- sig/dynamic_migrations/postgres/generator.rbs
|
|
179
|
+
- sig/dynamic_migrations/postgres/generator/column.rbs
|
|
180
|
+
- sig/dynamic_migrations/postgres/generator/database_migration.rbs
|
|
181
|
+
- sig/dynamic_migrations/postgres/generator/enum.rbs
|
|
182
|
+
- sig/dynamic_migrations/postgres/generator/extension.rbs
|
|
183
|
+
- sig/dynamic_migrations/postgres/generator/foreign_key_constraint.rbs
|
|
184
|
+
- sig/dynamic_migrations/postgres/generator/fragment.rbs
|
|
185
|
+
- sig/dynamic_migrations/postgres/generator/function.rbs
|
|
186
|
+
- sig/dynamic_migrations/postgres/generator/index.rbs
|
|
187
|
+
- sig/dynamic_migrations/postgres/generator/migration.rbs
|
|
188
|
+
- sig/dynamic_migrations/postgres/generator/migration_dependency_sorter.rbs
|
|
189
|
+
- sig/dynamic_migrations/postgres/generator/primary_key.rbs
|
|
190
|
+
- sig/dynamic_migrations/postgres/generator/schema.rbs
|
|
191
|
+
- sig/dynamic_migrations/postgres/generator/schema_migration.rbs
|
|
192
|
+
- sig/dynamic_migrations/postgres/generator/table.rbs
|
|
193
|
+
- sig/dynamic_migrations/postgres/generator/table_migration.rbs
|
|
194
|
+
- sig/dynamic_migrations/postgres/generator/trigger.rbs
|
|
195
|
+
- sig/dynamic_migrations/postgres/generator/unique_constraint.rbs
|
|
196
|
+
- sig/dynamic_migrations/postgres/generator/validation.rbs
|
|
197
|
+
- sig/dynamic_migrations/postgres/server.rbs
|
|
198
|
+
- sig/dynamic_migrations/postgres/server/database.rbs
|
|
199
|
+
- sig/dynamic_migrations/postgres/server/database/configured_extensions.rbs
|
|
200
|
+
- sig/dynamic_migrations/postgres/server/database/configured_schemas.rbs
|
|
201
|
+
- sig/dynamic_migrations/postgres/server/database/connection.rbs
|
|
202
|
+
- sig/dynamic_migrations/postgres/server/database/differences.rbs
|
|
203
|
+
- sig/dynamic_migrations/postgres/server/database/differences/to_migrations.rbs
|
|
204
|
+
- sig/dynamic_migrations/postgres/server/database/differences/to_migrations/extensions.rbs
|
|
205
|
+
- sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas.rbs
|
|
206
|
+
- sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/enums.rbs
|
|
207
|
+
- sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/functions.rbs
|
|
208
|
+
- sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables.rbs
|
|
209
|
+
- sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/columns.rbs
|
|
210
|
+
- sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/foreign_key_constraints.rbs
|
|
211
|
+
- sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/indexes.rbs
|
|
212
|
+
- sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/primary_key.rbs
|
|
213
|
+
- sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/triggers.rbs
|
|
214
|
+
- sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/unique_constraints.rbs
|
|
215
|
+
- sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/validations.rbs
|
|
216
|
+
- sig/dynamic_migrations/postgres/server/database/enums_loader.rbs
|
|
217
|
+
- sig/dynamic_migrations/postgres/server/database/extensions_loader.rbs
|
|
218
|
+
- sig/dynamic_migrations/postgres/server/database/keys_and_unique_constraints_loader.rbs
|
|
219
|
+
- sig/dynamic_migrations/postgres/server/database/loaded_extensions.rbs
|
|
220
|
+
- sig/dynamic_migrations/postgres/server/database/loaded_schemas.rbs
|
|
221
|
+
- sig/dynamic_migrations/postgres/server/database/loaded_schemas_builder.rbs
|
|
222
|
+
- sig/dynamic_migrations/postgres/server/database/schema.rbs
|
|
223
|
+
- sig/dynamic_migrations/postgres/server/database/schema/enum.rbs
|
|
224
|
+
- sig/dynamic_migrations/postgres/server/database/schema/enums.rbs
|
|
225
|
+
- sig/dynamic_migrations/postgres/server/database/schema/function.rbs
|
|
226
|
+
- sig/dynamic_migrations/postgres/server/database/schema/functions.rbs
|
|
227
|
+
- sig/dynamic_migrations/postgres/server/database/schema/table.rbs
|
|
228
|
+
- sig/dynamic_migrations/postgres/server/database/schema/table/column.rbs
|
|
229
|
+
- sig/dynamic_migrations/postgres/server/database/schema/table/columns.rbs
|
|
230
|
+
- sig/dynamic_migrations/postgres/server/database/schema/table/foreign_key_constraint.rbs
|
|
231
|
+
- sig/dynamic_migrations/postgres/server/database/schema/table/foreign_key_constraints.rbs
|
|
232
|
+
- sig/dynamic_migrations/postgres/server/database/schema/table/index.rbs
|
|
233
|
+
- sig/dynamic_migrations/postgres/server/database/schema/table/indexes.rbs
|
|
234
|
+
- sig/dynamic_migrations/postgres/server/database/schema/table/primary_key.rbs
|
|
235
|
+
- sig/dynamic_migrations/postgres/server/database/schema/table/trigger.rbs
|
|
236
|
+
- sig/dynamic_migrations/postgres/server/database/schema/table/triggers.rbs
|
|
237
|
+
- sig/dynamic_migrations/postgres/server/database/schema/table/unique_constraint.rbs
|
|
238
|
+
- sig/dynamic_migrations/postgres/server/database/schema/table/unique_constraints.rbs
|
|
239
|
+
- sig/dynamic_migrations/postgres/server/database/schema/table/validation.rbs
|
|
240
|
+
- sig/dynamic_migrations/postgres/server/database/schema/table/validations.rbs
|
|
241
|
+
- sig/dynamic_migrations/postgres/server/database/schema/tables.rbs
|
|
242
|
+
- sig/dynamic_migrations/postgres/server/database/source.rbs
|
|
243
|
+
- sig/dynamic_migrations/postgres/server/database/structure_loader.rbs
|
|
244
|
+
- sig/dynamic_migrations/postgres/server/database/triggers_and_functions_loader.rbs
|
|
245
|
+
- sig/dynamic_migrations/postgres/server/database/validations_loader.rbs
|
|
246
|
+
- sig/pg.rbs
|
|
247
|
+
- sig/tsort.rbs
|
|
157
248
|
homepage:
|
|
158
249
|
licenses:
|
|
159
250
|
- MIT
|