dynamic_migrations 3.4.1 → 3.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) 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/column.rb +1 -1
  5. data/lib/dynamic_migrations/postgres/generator/extension.rb +2 -2
  6. data/lib/dynamic_migrations/postgres/generator/foreign_key_constraint.rb +1 -1
  7. data/lib/dynamic_migrations/postgres/generator/index.rb +1 -1
  8. data/lib/dynamic_migrations/postgres/generator/migration.rb +2 -2
  9. data/lib/dynamic_migrations/postgres/generator/table.rb +1 -1
  10. data/lib/dynamic_migrations/postgres/generator/trigger.rb +1 -1
  11. data/lib/dynamic_migrations/postgres/generator/unique_constraint.rb +1 -1
  12. data/lib/dynamic_migrations/postgres/generator/validation.rb +1 -1
  13. data/lib/dynamic_migrations/postgres/server/database/differences.rb +1 -1
  14. data/lib/dynamic_migrations/version.rb +1 -1
  15. data/sig/dynamic_migrations/active_record/migrators/column.rbs +18 -0
  16. data/sig/dynamic_migrations/active_record/migrators/enum.rbs +22 -0
  17. data/sig/dynamic_migrations/active_record/migrators/foreign_key_constraint.rbs +29 -0
  18. data/sig/dynamic_migrations/active_record/migrators/function.rbs +28 -0
  19. data/sig/dynamic_migrations/active_record/migrators/index.rbs +17 -0
  20. data/sig/dynamic_migrations/active_record/migrators/schema.rbs +17 -0
  21. data/sig/dynamic_migrations/active_record/migrators/table.rbs +18 -0
  22. data/sig/dynamic_migrations/active_record/migrators/trigger.rbs +32 -0
  23. data/sig/dynamic_migrations/active_record/migrators/unique_constraint.rbs +20 -0
  24. data/sig/dynamic_migrations/active_record/migrators/validation.rbs +24 -0
  25. data/sig/dynamic_migrations/active_record/migrators.rbs +37 -0
  26. data/sig/dynamic_migrations/expected_boolean_error.rbs +4 -0
  27. data/sig/dynamic_migrations/expected_integer_error.rbs +4 -0
  28. data/sig/dynamic_migrations/expected_string_error.rbs +4 -0
  29. data/sig/dynamic_migrations/expected_symbol_error.rbs +4 -0
  30. data/sig/dynamic_migrations/invalid_source_error.rbs +5 -0
  31. data/sig/dynamic_migrations/module_included_into_unexpected_target_error.rbs +7 -0
  32. data/sig/dynamic_migrations/name_helper.rbs +5 -0
  33. data/sig/dynamic_migrations/postgres/connections.rbs +12 -0
  34. data/sig/dynamic_migrations/postgres/generator/column.rbs +24 -0
  35. data/sig/dynamic_migrations/postgres/generator/database_migration.rbs +12 -0
  36. data/sig/dynamic_migrations/postgres/generator/enum.rbs +23 -0
  37. data/sig/dynamic_migrations/postgres/generator/extension.rbs +16 -0
  38. data/sig/dynamic_migrations/postgres/generator/foreign_key_constraint.rbs +21 -0
  39. data/sig/dynamic_migrations/postgres/generator/fragment.rbs +32 -0
  40. data/sig/dynamic_migrations/postgres/generator/function.rbs +21 -0
  41. data/sig/dynamic_migrations/postgres/generator/index.rbs +21 -0
  42. data/sig/dynamic_migrations/postgres/generator/migration.rbs +58 -0
  43. data/sig/dynamic_migrations/postgres/generator/migration_dependency_sorter.rbs +12 -0
  44. data/sig/dynamic_migrations/postgres/generator/primary_key.rbs +20 -0
  45. data/sig/dynamic_migrations/postgres/generator/schema.rbs +17 -0
  46. data/sig/dynamic_migrations/postgres/generator/schema_migration.rbs +13 -0
  47. data/sig/dynamic_migrations/postgres/generator/table.rbs +30 -0
  48. data/sig/dynamic_migrations/postgres/generator/table_migration.rbs +12 -0
  49. data/sig/dynamic_migrations/postgres/generator/trigger.rbs +22 -0
  50. data/sig/dynamic_migrations/postgres/generator/unique_constraint.rbs +21 -0
  51. data/sig/dynamic_migrations/postgres/generator/validation.rbs +21 -0
  52. data/sig/dynamic_migrations/postgres/generator.rbs +57 -0
  53. data/sig/dynamic_migrations/postgres/server/database/configured_extensions.rbs +18 -0
  54. data/sig/dynamic_migrations/postgres/server/database/configured_schemas.rbs +23 -0
  55. data/sig/dynamic_migrations/postgres/server/database/connection.rbs +29 -0
  56. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/extensions.rbs +22 -0
  57. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/enums.rbs +24 -0
  58. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/functions.rbs +24 -0
  59. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/columns.rbs +26 -0
  60. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/foreign_key_constraints.rbs +26 -0
  61. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/indexes.rbs +26 -0
  62. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/primary_key.rbs +25 -0
  63. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/triggers.rbs +26 -0
  64. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/unique_constraints.rbs +26 -0
  65. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables/validations.rbs +26 -0
  66. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas/tables.rbs +33 -0
  67. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations/schemas.rbs +30 -0
  68. data/sig/dynamic_migrations/postgres/server/database/differences/to_migrations.rbs +47 -0
  69. data/sig/dynamic_migrations/postgres/server/database/differences.rbs +54 -0
  70. data/sig/dynamic_migrations/postgres/server/database/enums_loader.rbs +18 -0
  71. data/sig/dynamic_migrations/postgres/server/database/extensions_loader.rbs +17 -0
  72. data/sig/dynamic_migrations/postgres/server/database/keys_and_unique_constraints_loader.rbs +15 -0
  73. data/sig/dynamic_migrations/postgres/server/database/loaded_extensions.rbs +19 -0
  74. data/sig/dynamic_migrations/postgres/server/database/loaded_schemas.rbs +23 -0
  75. data/sig/dynamic_migrations/postgres/server/database/loaded_schemas_builder.rbs +27 -0
  76. data/sig/dynamic_migrations/postgres/server/database/schema/enum.rbs +28 -0
  77. data/sig/dynamic_migrations/postgres/server/database/schema/enums.rbs +31 -0
  78. data/sig/dynamic_migrations/postgres/server/database/schema/function.rbs +30 -0
  79. data/sig/dynamic_migrations/postgres/server/database/schema/functions.rbs +31 -0
  80. data/sig/dynamic_migrations/postgres/server/database/schema/table/column.rbs +28 -0
  81. data/sig/dynamic_migrations/postgres/server/database/schema/table/columns.rbs +30 -0
  82. data/sig/dynamic_migrations/postgres/server/database/schema/table/foreign_key_constraint.rbs +55 -0
  83. data/sig/dynamic_migrations/postgres/server/database/schema/table/foreign_key_constraints.rbs +32 -0
  84. data/sig/dynamic_migrations/postgres/server/database/schema/table/index.rbs +62 -0
  85. data/sig/dynamic_migrations/postgres/server/database/schema/table/indexes.rbs +31 -0
  86. data/sig/dynamic_migrations/postgres/server/database/schema/table/primary_key.rbs +40 -0
  87. data/sig/dynamic_migrations/postgres/server/database/schema/table/trigger.rbs +61 -0
  88. data/sig/dynamic_migrations/postgres/server/database/schema/table/triggers.rbs +33 -0
  89. data/sig/dynamic_migrations/postgres/server/database/schema/table/unique_constraint.rbs +49 -0
  90. data/sig/dynamic_migrations/postgres/server/database/schema/table/unique_constraints.rbs +31 -0
  91. data/sig/dynamic_migrations/postgres/server/database/schema/table/validation.rbs +43 -0
  92. data/sig/dynamic_migrations/postgres/server/database/schema/table/validations.rbs +31 -0
  93. data/sig/dynamic_migrations/postgres/server/database/schema/table.rbs +38 -0
  94. data/sig/dynamic_migrations/postgres/server/database/schema/tables.rbs +28 -0
  95. data/sig/dynamic_migrations/postgres/server/database/schema.rbs +21 -0
  96. data/sig/dynamic_migrations/postgres/server/database/source.rbs +18 -0
  97. data/sig/dynamic_migrations/postgres/server/database/structure_loader.rbs +19 -0
  98. data/sig/dynamic_migrations/postgres/server/database/triggers_and_functions_loader.rbs +20 -0
  99. data/sig/dynamic_migrations/postgres/server/database/validations_loader.rbs +15 -0
  100. data/sig/dynamic_migrations/postgres/server/database.rbs +34 -0
  101. data/sig/dynamic_migrations/postgres/server.rbs +19 -0
  102. data/sig/dynamic_migrations/postgres.rbs +4 -0
  103. data/sig/dynamic_migrations.rbs +6 -0
  104. data/sig/pg.rbs +20 -0
  105. data/sig/tsort.rbs +3 -0
  106. metadata +93 -2
@@ -0,0 +1,62 @@
1
+ module DynamicMigrations
2
+ module Postgres
3
+ class Server
4
+ class Database
5
+ class Schema
6
+ class Table
7
+ class Index < Source
8
+ INDEX_TYPES: [:btree, :hash, :gist, :gin, :bring, :spgist]
9
+ ORDERS: [:asc, :desc]
10
+ NULL_POSITIONS: [:first, :last]
11
+
12
+ type index_types = :btree | :hash | :gist | :gin | :bring | :spgist
13
+ type index_orders = :asc | :desc
14
+ type index_null_positions = :first | :last
15
+
16
+ @columns: Hash[untyped, untyped]
17
+ @include_columns: Hash[untyped, untyped]
18
+
19
+ attr_reader table: Table
20
+ attr_reader name: Symbol
21
+ attr_reader unique: bool
22
+ attr_reader where: String?
23
+ attr_reader type: index_types
24
+ attr_reader order: index_orders
25
+ attr_reader nulls_position: index_null_positions
26
+ attr_reader description: String?
27
+
28
+ def initialize: (database_or_configuration source, Table table, Array[Column] columns, Symbol name, ?unique: bool, ?where: String?, ?type: index_types, ?include_columns: Array[Column], ?order: index_orders, ?nulls_position: index_null_positions, ?description: String?) -> void
29
+ def columns: -> Array[Column]
30
+ def column_names: -> Array[Symbol]
31
+ def include_columns: -> Array[Column]
32
+ def include_column_names: -> Array[Symbol]
33
+ def has_description?: -> bool
34
+ def differences_descriptions: (Index other_index) -> Array[String]
35
+
36
+ private
37
+ def add_column: (Column column, ?is_include_column: bool) -> void
38
+
39
+ class ExpectedTableError < StandardError
40
+ end
41
+
42
+ class ExpectedArrayOfColumnsError < StandardError
43
+ end
44
+
45
+ class UnexpectedIndexTypeError < StandardError
46
+ end
47
+
48
+ class UnexpectedOrderError < StandardError
49
+ end
50
+
51
+ class UnexpectedNullsPositionError < StandardError
52
+ end
53
+
54
+ class DuplicateColumnError < StandardError
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
62
+ 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 Indexes
8
+ @indexes: Hash[Symbol, Index]
9
+
10
+ def index: (Symbol name) -> Index
11
+ def has_index?: (Symbol name) -> bool
12
+ def indexes: -> Array[Index]
13
+ def indexes_hash: -> Hash[Symbol, Index]
14
+ def add_index: (Symbol name, Array[Symbol] column_names, ?include_column_names: Array[Symbol], **untyped) -> Index
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 IndexDoesNotExistError < StandardError
21
+ end
22
+
23
+ class IndexAlreadyExistsError < StandardError
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -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