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.
- 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/column.rb +1 -1
- data/lib/dynamic_migrations/postgres/generator/extension.rb +2 -2
- data/lib/dynamic_migrations/postgres/generator/foreign_key_constraint.rb +1 -1
- data/lib/dynamic_migrations/postgres/generator/index.rb +1 -1
- data/lib/dynamic_migrations/postgres/generator/migration.rb +2 -2
- data/lib/dynamic_migrations/postgres/generator/table.rb +1 -1
- data/lib/dynamic_migrations/postgres/generator/trigger.rb +1 -1
- data/lib/dynamic_migrations/postgres/generator/unique_constraint.rb +1 -1
- data/lib/dynamic_migrations/postgres/generator/validation.rb +1 -1
- data/lib/dynamic_migrations/postgres/server/database/differences.rb +1 -1
- 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,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
|
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