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.
Files changed (99) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/lib/dynamic_migrations/active_record/migrators/foreign_key_constraint.rb +14 -14
  4. data/lib/dynamic_migrations/postgres/generator/extension.rb +2 -2
  5. data/lib/dynamic_migrations/postgres/generator/migration.rb +2 -2
  6. data/lib/dynamic_migrations/postgres/server/database/schema/table/column.rb +3 -0
  7. data/lib/dynamic_migrations/version.rb +1 -1
  8. data/sig/dynamic_migrations/active_record/migrators/column.rbs +18 -0
  9. data/sig/dynamic_migrations/active_record/migrators/enum.rbs +22 -0
  10. data/sig/dynamic_migrations/active_record/migrators/foreign_key_constraint.rbs +29 -0
  11. data/sig/dynamic_migrations/active_record/migrators/function.rbs +28 -0
  12. data/sig/dynamic_migrations/active_record/migrators/index.rbs +17 -0
  13. data/sig/dynamic_migrations/active_record/migrators/schema.rbs +17 -0
  14. data/sig/dynamic_migrations/active_record/migrators/table.rbs +18 -0
  15. data/sig/dynamic_migrations/active_record/migrators/trigger.rbs +32 -0
  16. data/sig/dynamic_migrations/active_record/migrators/unique_constraint.rbs +20 -0
  17. data/sig/dynamic_migrations/active_record/migrators/validation.rbs +24 -0
  18. data/sig/dynamic_migrations/active_record/migrators.rbs +37 -0
  19. data/sig/dynamic_migrations/expected_boolean_error.rbs +4 -0
  20. data/sig/dynamic_migrations/expected_integer_error.rbs +4 -0
  21. data/sig/dynamic_migrations/expected_string_error.rbs +4 -0
  22. data/sig/dynamic_migrations/expected_symbol_error.rbs +4 -0
  23. data/sig/dynamic_migrations/invalid_source_error.rbs +5 -0
  24. data/sig/dynamic_migrations/module_included_into_unexpected_target_error.rbs +7 -0
  25. data/sig/dynamic_migrations/name_helper.rbs +5 -0
  26. data/sig/dynamic_migrations/postgres/connections.rbs +12 -0
  27. data/sig/dynamic_migrations/postgres/generator/column.rbs +24 -0
  28. data/sig/dynamic_migrations/postgres/generator/database_migration.rbs +12 -0
  29. data/sig/dynamic_migrations/postgres/generator/enum.rbs +23 -0
  30. data/sig/dynamic_migrations/postgres/generator/extension.rbs +16 -0
  31. data/sig/dynamic_migrations/postgres/generator/foreign_key_constraint.rbs +21 -0
  32. data/sig/dynamic_migrations/postgres/generator/fragment.rbs +32 -0
  33. data/sig/dynamic_migrations/postgres/generator/function.rbs +21 -0
  34. data/sig/dynamic_migrations/postgres/generator/index.rbs +21 -0
  35. data/sig/dynamic_migrations/postgres/generator/migration.rbs +58 -0
  36. data/sig/dynamic_migrations/postgres/generator/migration_dependency_sorter.rbs +12 -0
  37. data/sig/dynamic_migrations/postgres/generator/primary_key.rbs +20 -0
  38. data/sig/dynamic_migrations/postgres/generator/schema.rbs +17 -0
  39. data/sig/dynamic_migrations/postgres/generator/schema_migration.rbs +13 -0
  40. data/sig/dynamic_migrations/postgres/generator/table.rbs +30 -0
  41. data/sig/dynamic_migrations/postgres/generator/table_migration.rbs +12 -0
  42. data/sig/dynamic_migrations/postgres/generator/trigger.rbs +22 -0
  43. data/sig/dynamic_migrations/postgres/generator/unique_constraint.rbs +21 -0
  44. data/sig/dynamic_migrations/postgres/generator/validation.rbs +21 -0
  45. data/sig/dynamic_migrations/postgres/generator.rbs +57 -0
  46. data/sig/dynamic_migrations/postgres/server/database/configured_extensions.rbs +18 -0
  47. data/sig/dynamic_migrations/postgres/server/database/configured_schemas.rbs +23 -0
  48. data/sig/dynamic_migrations/postgres/server/database/connection.rbs +29 -0
  49. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/extensions.rbs +22 -0
  50. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/enums.rbs +24 -0
  51. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/functions.rbs +24 -0
  52. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/columns.rbs +26 -0
  53. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/foreign_key_constraints.rbs +26 -0
  54. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/indexes.rbs +26 -0
  55. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/primary_key.rbs +25 -0
  56. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/triggers.rbs +26 -0
  57. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/unique_constraints.rbs +26 -0
  58. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/validations.rbs +26 -0
  59. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables.rbs +33 -0
  60. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas.rbs +30 -0
  61. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations.rbs +47 -0
  62. data/sig/dynamic_migrations/postgres/server/database/differences.rbs +54 -0
  63. data/sig/dynamic_migrations/postgres/server/database/enums_loader.rbs +18 -0
  64. data/sig/dynamic_migrations/postgres/server/database/extensions_loader.rbs +17 -0
  65. data/sig/dynamic_migrations/postgres/server/database/keys_and_unique_constraints_loader.rbs +15 -0
  66. data/sig/dynamic_migrations/postgres/server/database/loaded_extensions.rbs +19 -0
  67. data/sig/dynamic_migrations/postgres/server/database/loaded_schemas.rbs +23 -0
  68. data/sig/dynamic_migrations/postgres/server/database/loaded_schemas_builder.rbs +27 -0
  69. data/sig/dynamic_migrations/postgres/server/database/schema/enum.rbs +28 -0
  70. data/sig/dynamic_migrations/postgres/server/database/schema/enums.rbs +31 -0
  71. data/sig/dynamic_migrations/postgres/server/database/schema/function.rbs +30 -0
  72. data/sig/dynamic_migrations/postgres/server/database/schema/functions.rbs +31 -0
  73. data/sig/dynamic_migrations/postgres/server/database/schema/table/column.rbs +28 -0
  74. data/sig/dynamic_migrations/postgres/server/database/schema/table/columns.rbs +30 -0
  75. data/sig/dynamic_migrations/postgres/server/database/schema/table/foreign_key_constraint.rbs +55 -0
  76. data/sig/dynamic_migrations/postgres/server/database/schema/table/foreign_key_constraints.rbs +32 -0
  77. data/sig/dynamic_migrations/postgres/server/database/schema/table/index.rbs +62 -0
  78. data/sig/dynamic_migrations/postgres/server/database/schema/table/indexes.rbs +31 -0
  79. data/sig/dynamic_migrations/postgres/server/database/schema/table/primary_key.rbs +40 -0
  80. data/sig/dynamic_migrations/postgres/server/database/schema/table/trigger.rbs +61 -0
  81. data/sig/dynamic_migrations/postgres/server/database/schema/table/triggers.rbs +33 -0
  82. data/sig/dynamic_migrations/postgres/server/database/schema/table/unique_constraint.rbs +49 -0
  83. data/sig/dynamic_migrations/postgres/server/database/schema/table/unique_constraints.rbs +31 -0
  84. data/sig/dynamic_migrations/postgres/server/database/schema/table/validation.rbs +43 -0
  85. data/sig/dynamic_migrations/postgres/server/database/schema/table/validations.rbs +31 -0
  86. data/sig/dynamic_migrations/postgres/server/database/schema/table.rbs +38 -0
  87. data/sig/dynamic_migrations/postgres/server/database/schema/tables.rbs +28 -0
  88. data/sig/dynamic_migrations/postgres/server/database/schema.rbs +21 -0
  89. data/sig/dynamic_migrations/postgres/server/database/source.rbs +18 -0
  90. data/sig/dynamic_migrations/postgres/server/database/structure_loader.rbs +19 -0
  91. data/sig/dynamic_migrations/postgres/server/database/triggers_and_functions_loader.rbs +20 -0
  92. data/sig/dynamic_migrations/postgres/server/database/validations_loader.rbs +15 -0
  93. data/sig/dynamic_migrations/postgres/server/database.rbs +34 -0
  94. data/sig/dynamic_migrations/postgres/server.rbs +19 -0
  95. data/sig/dynamic_migrations/postgres.rbs +4 -0
  96. data/sig/dynamic_migrations.rbs +6 -0
  97. data/sig/pg.rbs +20 -0
  98. data/sig/tsort.rbs +3 -0
  99. 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
@@ -0,0 +1,4 @@
1
+ module DynamicMigrations
2
+ module Postgres
3
+ end
4
+ end
@@ -0,0 +1,6 @@
1
+ type database_or_configuration = :database | :configuration
2
+
3
+ module DynamicMigrations
4
+ VERSION: String
5
+ # See the writing guide of rbs: https://github.com/ruby/rbs#guides
6
+ 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
@@ -0,0 +1,3 @@
1
+ module TSort
2
+ def tsort: () -> Array[untyped]
3
+ end
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.0
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-08-23 00:00:00.000000000 Z
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