dynamic_migrations 1.1.1 → 2.0.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 (21) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -0
  3. data/lib/dynamic_migrations/postgres/server/database/connection.rb +2 -2
  4. data/lib/dynamic_migrations/postgres/server/database/differences.rb +21 -21
  5. data/lib/dynamic_migrations/postgres/server/database/schema/table/column.rb +4 -4
  6. data/lib/dynamic_migrations/postgres/server/database/schema/table/columns.rb +13 -13
  7. data/lib/dynamic_migrations/postgres/server/database/schema/table/foreign_key_constraint.rb +11 -11
  8. data/lib/dynamic_migrations/postgres/server/database/schema/table/foreign_key_constraints.rb +13 -13
  9. data/lib/dynamic_migrations/postgres/server/database/schema/table/index.rb +9 -9
  10. data/lib/dynamic_migrations/postgres/server/database/schema/table/indexes.rb +13 -13
  11. data/lib/dynamic_migrations/postgres/server/database/schema/table/primary_key.rb +8 -8
  12. data/lib/dynamic_migrations/postgres/server/database/schema/table/unique_constraint.rb +8 -8
  13. data/lib/dynamic_migrations/postgres/server/database/schema/table/unique_constraints.rb +13 -13
  14. data/lib/dynamic_migrations/postgres/server/database/schema/table/validation.rb +8 -8
  15. data/lib/dynamic_migrations/postgres/server/database/schema/table/validations.rb +13 -13
  16. data/lib/dynamic_migrations/postgres/server/database/schema/table.rb +6 -6
  17. data/lib/dynamic_migrations/postgres/server/database/schema.rb +4 -4
  18. data/lib/dynamic_migrations/postgres/server/database.rb +4 -4
  19. data/lib/dynamic_migrations/postgres/server.rb +7 -7
  20. data/lib/dynamic_migrations/version.rb +1 -1
  21. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cd85087e52878be82f2733bc12a2949cff8cd25b5b52a6b0e820e760ad7d8ea0
4
- data.tar.gz: a22b55bec2b78053ccca5541eeb55b33c78007d01f5af22997b8498a8631fbbb
3
+ metadata.gz: d576c2761325b577a0e175e24a59833dc595212900f953ee494d71d4a635beef
4
+ data.tar.gz: 47911ce666cdd465a8f57a54263155c92ba8d37339cf7bf3c2a6a3fcde549e99
5
5
  SHA512:
6
- metadata.gz: c5a4322f59ab8d3fd626136633f6a9e1faeab846fb3165257a216347d232a5ea44363e0d9b0fc4ebad8a128e05beb0a78e9cbefe6710d6312cd5d4326e976747
7
- data.tar.gz: 387790fda8976ade419f384e70171e2a89c1392756d8aae4e5915230a90dcb27eaf1a256f241f55dc0296d31f67bee6c565528194bda0e97e0c849d18ea7e663
6
+ metadata.gz: 6a05c58150c20cdf1a19f14e2d931e7a48e4220531cc5f1f25d9cf0740554fe01a3b3db7e2ea7e12d4d06732c0fa472fdd6652cf27fffdad8a82039f73163eeb
7
+ data.tar.gz: 0ae100cf8c850cde3de93c4fd86df3487c1b4f7b7f25de65d9fab6b0dfde020bf4d4f09b802c37c92fe5d26fb0b6b73d12d641cb6f6c0fb3567e8e97f047ce87
data/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.0.0](https://github.com/craigulliott/dynamic_migrations/compare/v1.1.1...v2.0.0) (2023-07-27)
4
+
5
+
6
+ ### ⚠ BREAKING CHANGES
7
+
8
+ * changing all name related methods from %object%_name to just name (i.e. `table.table_name` is now just `table.name`)
9
+
10
+ ### Features
11
+
12
+ * changing all name related methods from %object%_name to just name (i.e. `table.table_name` is now just `table.name`) ([77f18ae](https://github.com/craigulliott/dynamic_migrations/commit/77f18ae168c2449fa437fa7692ff9339931f9076))
13
+
3
14
  ## [1.1.1](https://github.com/craigulliott/dynamic_migrations/compare/v1.1.0...v1.1.1) (2023-07-17)
4
15
 
5
16
 
@@ -15,9 +15,9 @@ module DynamicMigrations
15
15
  end
16
16
 
17
17
  def connect
18
- raise MissingDatabaseNameError unless database_name
18
+ raise MissingDatabaseNameError unless name
19
19
  raise AlreadyConnectedError if @connection
20
- @connection = Postgres::Connections.create_connection server.host, server.port, server.username, server.password, database_name
20
+ @connection = Postgres::Connections.create_connection server.host, server.port, server.username, server.password, name
21
21
  end
22
22
 
23
23
  def connection
@@ -107,7 +107,7 @@ module DynamicMigrations
107
107
  matches: (comparison_table && comparison_table.description == table.description) || false
108
108
  },
109
109
  primary_key: compare_record(primary_key, comparison_primary_key, [
110
- :primary_key_name,
110
+ :name,
111
111
  :index_type
112
112
  ]),
113
113
  columns: compare_columns(table.columns_hash, comparison_columns),
@@ -159,9 +159,9 @@ module DynamicMigrations
159
159
  def self.compare_unique_constraints unique_constraints, comparison_unique_constraints
160
160
  result = {}
161
161
  # the base unique_constraints
162
- unique_constraints.each do |unique_constraint_name, unique_constraint|
162
+ unique_constraints.each do |name, unique_constraint|
163
163
  # compare this unique_constraint to the equivilent in the comparison list
164
- result[unique_constraint_name] = compare_record unique_constraint, comparison_unique_constraints[unique_constraint_name], [
164
+ result[name] = compare_record unique_constraint, comparison_unique_constraints[name], [
165
165
  :column_names,
166
166
  :index_type,
167
167
  :deferrable,
@@ -169,9 +169,9 @@ module DynamicMigrations
169
169
  ]
170
170
  end
171
171
  # look for any unique_constraints in the comparison list which were not in the base list
172
- comparison_unique_constraints.each do |unique_constraint_name, unique_constraint|
173
- unless result.key? unique_constraint_name
174
- result[unique_constraint_name] = {
172
+ comparison_unique_constraints.each do |name, unique_constraint|
173
+ unless result.key? name
174
+ result[name] = {
175
175
  exists: false
176
176
  }
177
177
  end
@@ -185,9 +185,9 @@ module DynamicMigrations
185
185
  def self.compare_indexes indexes, comparison_indexes
186
186
  result = {}
187
187
  # the base indexes
188
- indexes.each do |index_name, index|
188
+ indexes.each do |name, index|
189
189
  # compare this index to the equivilent in the comparison list
190
- result[index_name] = compare_record index, comparison_indexes[index_name], [
190
+ result[name] = compare_record index, comparison_indexes[name], [
191
191
  :column_names,
192
192
  :unique,
193
193
  :where,
@@ -199,9 +199,9 @@ module DynamicMigrations
199
199
  ]
200
200
  end
201
201
  # look for any indexes in the comparison list which were not in the base list
202
- comparison_indexes.each do |index_name, index|
203
- unless result.key? index_name
204
- result[index_name] = {
202
+ comparison_indexes.each do |name, index|
203
+ unless result.key? name
204
+ result[name] = {
205
205
  exists: false
206
206
  }
207
207
  end
@@ -215,9 +215,9 @@ module DynamicMigrations
215
215
  def self.compare_validations validations, comparison_validations
216
216
  result = {}
217
217
  # the base validations
218
- validations.each do |validation_name, validation|
218
+ validations.each do |name, validation|
219
219
  # compare this validation to the equivilent in the comparison list
220
- result[validation_name] = compare_record validation, comparison_validations[validation_name], [
220
+ result[name] = compare_record validation, comparison_validations[name], [
221
221
  :check_clause,
222
222
  :column_names,
223
223
  :deferrable,
@@ -225,9 +225,9 @@ module DynamicMigrations
225
225
  ]
226
226
  end
227
227
  # look for any validations in the comparison list which were not in the base list
228
- comparison_validations.each do |validation_name, validation|
229
- unless result.key? validation_name
230
- result[validation_name] = {
228
+ comparison_validations.each do |name, validation|
229
+ unless result.key? name
230
+ result[name] = {
231
231
  exists: false
232
232
  }
233
233
  end
@@ -241,9 +241,9 @@ module DynamicMigrations
241
241
  def self.compare_foreign_key_constraints foreign_key_constraints, comparison_foreign_key_constraints
242
242
  result = {}
243
243
  # the base foreign_key_constraints
244
- foreign_key_constraints.each do |foreign_key_constraint_name, foreign_key_constraint|
244
+ foreign_key_constraints.each do |name, foreign_key_constraint|
245
245
  # compare this foreign_key_constraint to the equivilent in the comparison list
246
- result[foreign_key_constraint_name] = compare_record foreign_key_constraint, comparison_foreign_key_constraints[foreign_key_constraint_name], [
246
+ result[name] = compare_record foreign_key_constraint, comparison_foreign_key_constraints[name], [
247
247
  :column_names,
248
248
  :foreign_schema_name,
249
249
  :foreign_table_name,
@@ -253,9 +253,9 @@ module DynamicMigrations
253
253
  ]
254
254
  end
255
255
  # look for any foreign_key_constraints in the comparison list which were not in the base list
256
- comparison_foreign_key_constraints.each do |foreign_key_constraint_name, foreign_key_constraint|
257
- unless result.key? foreign_key_constraint_name
258
- result[foreign_key_constraint_name] = {
256
+ comparison_foreign_key_constraints.each do |name, foreign_key_constraint|
257
+ unless result.key? name
258
+ result[name] = {
259
259
  exists: false
260
260
  }
261
261
  end
@@ -12,7 +12,7 @@ module DynamicMigrations
12
12
  end
13
13
 
14
14
  attr_reader :table
15
- attr_reader :column_name
15
+ attr_reader :name
16
16
  attr_reader :description
17
17
  attr_reader :null
18
18
  attr_reader :default
@@ -29,13 +29,13 @@ module DynamicMigrations
29
29
  attr_reader :updatable
30
30
 
31
31
  # initialize a new object to represent a column in a postgres table
32
- def initialize source, table, column_name, data_type, null: true, default: nil, description: nil, character_maximum_length: nil, character_octet_length: nil, numeric_precision: nil, numeric_precision_radix: nil, numeric_scale: nil, datetime_precision: nil, interval_type: nil, udt_schema: nil, udt_name: nil, updatable: true
32
+ def initialize source, table, name, data_type, null: true, default: nil, description: nil, character_maximum_length: nil, character_octet_length: nil, numeric_precision: nil, numeric_precision_radix: nil, numeric_scale: nil, datetime_precision: nil, interval_type: nil, udt_schema: nil, udt_name: nil, updatable: true
33
33
  super source
34
34
  raise ExpectedTableError, table unless table.is_a? Table
35
35
  @table = table
36
36
 
37
- raise ExpectedSymbolError, column_name unless column_name.is_a? Symbol
38
- @column_name = column_name
37
+ raise ExpectedSymbolError, name unless name.is_a? Symbol
38
+ @name = name
39
39
 
40
40
  @data_type = data_type
41
41
 
@@ -16,16 +16,16 @@ module DynamicMigrations
16
16
 
17
17
  # returns the column object for the provided column name, and raises an
18
18
  # error if the column does not exist
19
- def column column_name
20
- raise ExpectedSymbolError, column_name unless column_name.is_a? Symbol
21
- raise ColumnDoesNotExistError unless has_column? column_name
22
- @columns[column_name]
19
+ def column name
20
+ raise ExpectedSymbolError, name unless name.is_a? Symbol
21
+ raise ColumnDoesNotExistError unless has_column? name
22
+ @columns[name]
23
23
  end
24
24
 
25
25
  # returns true if this table has a column with the provided name, otherwise false
26
- def has_column? column_name
27
- raise ExpectedSymbolError, column_name unless column_name.is_a? Symbol
28
- @columns.key? column_name
26
+ def has_column? name
27
+ raise ExpectedSymbolError, name unless name.is_a? Symbol
28
+ @columns.key? name
29
29
  end
30
30
 
31
31
  # returns an array of this tables columns
@@ -38,20 +38,20 @@ module DynamicMigrations
38
38
  end
39
39
 
40
40
  # adds a new column to this table, and returns it
41
- def add_column column_name, data_type, **column_options
42
- if has_column? column_name
43
- raise(DuplicateColumnError, "Column #{column_name} already exists")
41
+ def add_column name, data_type, **column_options
42
+ if has_column? name
43
+ raise(DuplicateColumnError, "Column #{name} already exists")
44
44
  end
45
45
  included_target = self
46
46
  if included_target.is_a? Table
47
- new_column = @columns[column_name] = Column.new source, included_target, column_name, data_type, **column_options
47
+ new_column = @columns[name] = Column.new source, included_target, name, data_type, **column_options
48
48
  else
49
49
  raise ModuleIncludedIntoUnexpectedTargetError, included_target
50
50
  end
51
51
  # sort the hash so that the columns are in alphabetical order by name
52
52
  sorted_columns = {}
53
- @columns.keys.sort.each do |column_name|
54
- sorted_columns[column_name] = @columns[column_name]
53
+ @columns.keys.sort.each do |name|
54
+ sorted_columns[name] = @columns[name]
55
55
  end
56
56
  @columns = sorted_columns
57
57
  # return the new column
@@ -22,12 +22,12 @@ module DynamicMigrations
22
22
 
23
23
  attr_reader :table
24
24
  attr_reader :foreign_table
25
- attr_reader :foreign_key_constraint_name
25
+ attr_reader :name
26
26
  attr_reader :deferrable
27
27
  attr_reader :initially_deferred
28
28
 
29
29
  # initialize a new object to represent a foreign_key_constraint in a postgres table
30
- def initialize source, table, columns, foreign_table, foreign_columns, foreign_key_constraint_name, deferrable: false, initially_deferred: false
30
+ def initialize source, table, columns, foreign_table, foreign_columns, name, deferrable: false, initially_deferred: false
31
31
  super source
32
32
 
33
33
  raise ExpectedTableError, table unless table.is_a? Table
@@ -43,7 +43,7 @@ module DynamicMigrations
43
43
  raise ExpectedArrayOfColumnsError
44
44
  end
45
45
 
46
- if table.table_name == foreign_table.table_name && table.schema.schema_name == foreign_table.schema.schema_name
46
+ if table.name == foreign_table.name && table.schema.name == foreign_table.schema.name
47
47
  raise ExpectedDifferentTablesError
48
48
  end
49
49
 
@@ -61,8 +61,8 @@ module DynamicMigrations
61
61
  add_column column, true
62
62
  end
63
63
 
64
- raise ExpectedSymbolError, foreign_key_constraint_name unless foreign_key_constraint_name.is_a? Symbol
65
- @foreign_key_constraint_name = foreign_key_constraint_name
64
+ raise ExpectedSymbolError, name unless name.is_a? Symbol
65
+ @name = name
66
66
 
67
67
  raise ExpectedBooleanError, deferrable unless [true, false].include?(deferrable)
68
68
  @deferrable = deferrable
@@ -88,11 +88,11 @@ module DynamicMigrations
88
88
  end
89
89
 
90
90
  def foreign_schema_name
91
- @foreign_table.schema.schema_name
91
+ @foreign_table.schema.name
92
92
  end
93
93
 
94
94
  def foreign_table_name
95
- @foreign_table.table_name
95
+ @foreign_table.name
96
96
  end
97
97
 
98
98
  private
@@ -113,15 +113,15 @@ module DynamicMigrations
113
113
  end
114
114
 
115
115
  # assert that the provided column exists within this foreign_key_constraints table
116
- unless t.has_column? column.column_name
116
+ unless t.has_column? column.name
117
117
  raise ExpectedArrayOfColumnsError, "One or more columns do not exist in this foreign_key_constraints table"
118
118
  end
119
119
 
120
- if cs.key? column.column_name
121
- raise(DuplicateColumnError, "Column #{column.column_name} already exists")
120
+ if cs.key? column.name
121
+ raise(DuplicateColumnError, "Column #{column.name} already exists")
122
122
  end
123
123
 
124
- cs[column.column_name] = column
124
+ cs[column.name] = column
125
125
  end
126
126
  end
127
127
  end
@@ -16,16 +16,16 @@ module DynamicMigrations
16
16
 
17
17
  # returns the foreign_key_constraint object for the provided foreign_key_constraint name, and raises an
18
18
  # error if the foreign_key_constraint does not exist
19
- def foreign_key_constraint foreign_key_constraint_name
20
- raise ExpectedSymbolError, foreign_key_constraint_name unless foreign_key_constraint_name.is_a? Symbol
21
- raise ForeignKeyConstraintDoesNotExistError unless has_foreign_key_constraint? foreign_key_constraint_name
22
- @foreign_key_constraints[foreign_key_constraint_name]
19
+ def foreign_key_constraint name
20
+ raise ExpectedSymbolError, name unless name.is_a? Symbol
21
+ raise ForeignKeyConstraintDoesNotExistError unless has_foreign_key_constraint? name
22
+ @foreign_key_constraints[name]
23
23
  end
24
24
 
25
25
  # returns true if this table has a foreign_key_constraint with the provided name, otherwise false
26
- def has_foreign_key_constraint? foreign_key_constraint_name
27
- raise ExpectedSymbolError, foreign_key_constraint_name unless foreign_key_constraint_name.is_a? Symbol
28
- @foreign_key_constraints.key? foreign_key_constraint_name
26
+ def has_foreign_key_constraint? name
27
+ raise ExpectedSymbolError, name unless name.is_a? Symbol
28
+ @foreign_key_constraints.key? name
29
29
  end
30
30
 
31
31
  # returns an array of this tables foreign_key_constraints
@@ -38,9 +38,9 @@ module DynamicMigrations
38
38
  end
39
39
 
40
40
  # adds a new foreign_key_constraint to this table, and returns it
41
- def add_foreign_key_constraint foreign_key_constraint_name, column_names, foreign_schema_name, foreign_table_name, foreign_column_names, **foreign_key_constraint_options
42
- if has_foreign_key_constraint? foreign_key_constraint_name
43
- raise(ForeignKeyConstraintAlreadyExistsError, "foreign_key_constraint #{foreign_key_constraint_name} already exists")
41
+ def add_foreign_key_constraint name, column_names, foreign_schema_name, foreign_table_name, foreign_column_names, **foreign_key_constraint_options
42
+ if has_foreign_key_constraint? name
43
+ raise(ForeignKeyConstraintAlreadyExistsError, "foreign_key_constraint #{name} already exists")
44
44
  end
45
45
  columns = column_names.map { |column_name| column column_name }
46
46
  foreign_schema = schema.database.schema foreign_schema_name, source
@@ -48,14 +48,14 @@ module DynamicMigrations
48
48
  foreign_columns = foreign_column_names.map { |column_name| foreign_table.column column_name }
49
49
  included_target = self
50
50
  if included_target.is_a? Table
51
- new_foreign_key_constraint = @foreign_key_constraints[foreign_key_constraint_name] = ForeignKeyConstraint.new source, included_target, columns, foreign_table, foreign_columns, foreign_key_constraint_name, **foreign_key_constraint_options
51
+ new_foreign_key_constraint = @foreign_key_constraints[name] = ForeignKeyConstraint.new source, included_target, columns, foreign_table, foreign_columns, name, **foreign_key_constraint_options
52
52
  else
53
53
  raise ModuleIncludedIntoUnexpectedTargetError, included_target
54
54
  end
55
55
  # sort the hash so that the foreign_key_constraints are in alphabetical order by name
56
56
  sorted_foreign_key_constraints = {}
57
- @foreign_key_constraints.keys.sort.each do |foreign_key_constraint_name|
58
- sorted_foreign_key_constraints[foreign_key_constraint_name] = @foreign_key_constraints[foreign_key_constraint_name]
57
+ @foreign_key_constraints.keys.sort.each do |name|
58
+ sorted_foreign_key_constraints[name] = @foreign_key_constraints[name]
59
59
  end
60
60
  @foreign_key_constraints = sorted_foreign_key_constraints
61
61
  # return the new foreign_key_constraint
@@ -31,7 +31,7 @@ module DynamicMigrations
31
31
  end
32
32
 
33
33
  attr_reader :table
34
- attr_reader :index_name
34
+ attr_reader :name
35
35
  attr_reader :unique
36
36
  attr_reader :where
37
37
  attr_reader :type
@@ -41,7 +41,7 @@ module DynamicMigrations
41
41
  attr_reader :nulls_position
42
42
 
43
43
  # initialize a new object to represent a index in a postgres table
44
- def initialize source, table, columns, index_name, unique: false, where: nil, type: :btree, deferrable: false, initially_deferred: false, include_columns: [], order: :asc, nulls_position: :last
44
+ def initialize source, table, columns, name, unique: false, where: nil, type: :btree, deferrable: false, initially_deferred: false, include_columns: [], order: :asc, nulls_position: :last
45
45
  super source
46
46
  raise ExpectedTableError, table unless table.is_a? Table
47
47
  @table = table
@@ -57,8 +57,8 @@ module DynamicMigrations
57
57
  add_column column
58
58
  end
59
59
 
60
- raise ExpectedSymbolError, index_name unless index_name.is_a? Symbol
61
- @index_name = index_name
60
+ raise ExpectedSymbolError, name unless name.is_a? Symbol
61
+ @name = name
62
62
 
63
63
  raise ExpectedBooleanError, unique unless [true, false].include?(unique)
64
64
  @unique = unique
@@ -121,18 +121,18 @@ module DynamicMigrations
121
121
  end
122
122
 
123
123
  # assert that the provided column exists within this indexes table
124
- unless @table.has_column? column.column_name
124
+ unless @table.has_column? column.name
125
125
  raise ExpectedArrayOfColumnsError, "One or more columns do not exist in this indexes table"
126
126
  end
127
127
 
128
- if @columns.key?(column.column_name) || @include_columns.key?(column.column_name)
129
- raise(DuplicateColumnError, "Column #{column.column_name} already exists in index, or is already included")
128
+ if @columns.key?(column.name) || @include_columns.key?(column.name)
129
+ raise(DuplicateColumnError, "Column #{column.name} already exists in index, or is already included")
130
130
  end
131
131
 
132
132
  if is_include_column
133
- @include_columns[column.column_name] = column
133
+ @include_columns[column.name] = column
134
134
  else
135
- @columns[column.column_name] = column
135
+ @columns[column.name] = column
136
136
  end
137
137
  end
138
138
  end
@@ -16,16 +16,16 @@ module DynamicMigrations
16
16
 
17
17
  # returns the index object for the provided index name, and raises an
18
18
  # error if the index does not exist
19
- def index index_name
20
- raise ExpectedSymbolError, index_name unless index_name.is_a? Symbol
21
- raise IndexDoesNotExistError unless has_index? index_name
22
- @indexes[index_name]
19
+ def index name
20
+ raise ExpectedSymbolError, name unless name.is_a? Symbol
21
+ raise IndexDoesNotExistError unless has_index? name
22
+ @indexes[name]
23
23
  end
24
24
 
25
25
  # returns true if this table has a index with the provided name, otherwise false
26
- def has_index? index_name
27
- raise ExpectedSymbolError, index_name unless index_name.is_a? Symbol
28
- @indexes.key? index_name
26
+ def has_index? name
27
+ raise ExpectedSymbolError, name unless name.is_a? Symbol
28
+ @indexes.key? name
29
29
  end
30
30
 
31
31
  # returns an array of this tables indexes
@@ -41,22 +41,22 @@ module DynamicMigrations
41
41
  # include_column_names in broken out from index_options, because it is converted from an
42
42
  # array of column names into an array of columns, and then recombined with the other
43
43
  # options which are sent to the index initialize method
44
- def add_index index_name, column_names, include_column_names: [], **index_options
45
- if has_index? index_name
46
- raise(IndexAlreadyExistsError, "index #{index_name} already exists")
44
+ def add_index name, column_names, include_column_names: [], **index_options
45
+ if has_index? name
46
+ raise(IndexAlreadyExistsError, "index #{name} already exists")
47
47
  end
48
48
  columns = column_names.map { |column_name| column column_name }
49
49
  include_columns = include_column_names.map { |column_name| column column_name }
50
50
  included_target = self
51
51
  if included_target.is_a? Table
52
- new_index = @indexes[index_name] = Index.new source, included_target, columns, index_name, include_columns: include_columns, **index_options
52
+ new_index = @indexes[name] = Index.new source, included_target, columns, name, include_columns: include_columns, **index_options
53
53
  else
54
54
  raise ModuleIncludedIntoUnexpectedTargetError, included_target
55
55
  end
56
56
  # sort the hash so that the indexes are in alphabetical order by name
57
57
  sorted_indexes = {}
58
- @indexes.keys.sort.each do |index_name|
59
- sorted_indexes[index_name] = @indexes[index_name]
58
+ @indexes.keys.sort.each do |name|
59
+ sorted_indexes[name] = @indexes[name]
60
60
  end
61
61
  @indexes = sorted_indexes
62
62
  # return the new index
@@ -23,11 +23,11 @@ module DynamicMigrations
23
23
  end
24
24
 
25
25
  attr_reader :table
26
- attr_reader :primary_key_name
26
+ attr_reader :name
27
27
  attr_reader :index_type
28
28
 
29
29
  # initialize a new object to represent a primary_key in a postgres table
30
- def initialize source, table, columns, primary_key_name, index_type: :btree
30
+ def initialize source, table, columns, name, index_type: :btree
31
31
  super source
32
32
  raise ExpectedTableError, table unless table.is_a? Table
33
33
  @table = table
@@ -42,8 +42,8 @@ module DynamicMigrations
42
42
  add_column column
43
43
  end
44
44
 
45
- raise ExpectedSymbolError, primary_key_name unless primary_key_name.is_a? Symbol
46
- @primary_key_name = primary_key_name
45
+ raise ExpectedSymbolError, name unless name.is_a? Symbol
46
+ @name = name
47
47
 
48
48
  raise UnexpectedIndexTypeError, index_type unless INDEX_TYPES.include?(index_type)
49
49
  @index_type = index_type
@@ -64,15 +64,15 @@ module DynamicMigrations
64
64
  end
65
65
 
66
66
  # assert that the provided column exists within this primary keys table
67
- unless @table.has_column? column.column_name
67
+ unless @table.has_column? column.name
68
68
  raise ExpectedArrayOfColumnsError, "One or more columns do not exist in this primary keys table"
69
69
  end
70
70
 
71
- if @columns.key?(column.column_name)
72
- raise(DuplicateColumnError, "Column #{column.column_name} already exists in primary_key, or is already included")
71
+ if @columns.key?(column.name)
72
+ raise(DuplicateColumnError, "Column #{column.name} already exists in primary_key, or is already included")
73
73
  end
74
74
 
75
- @columns[column.column_name] = column
75
+ @columns[column.name] = column
76
76
  end
77
77
  end
78
78
  end
@@ -29,13 +29,13 @@ module DynamicMigrations
29
29
  end
30
30
 
31
31
  attr_reader :table
32
- attr_reader :unique_constraint_name
32
+ attr_reader :name
33
33
  attr_reader :index_type
34
34
  attr_reader :deferrable
35
35
  attr_reader :initially_deferred
36
36
 
37
37
  # initialize a new object to represent a unique_constraint in a postgres table
38
- def initialize source, table, columns, unique_constraint_name, index_type: :btree, deferrable: false, initially_deferred: false
38
+ def initialize source, table, columns, name, index_type: :btree, deferrable: false, initially_deferred: false
39
39
  super source
40
40
  raise ExpectedTableError, table unless table.is_a? Table
41
41
  @table = table
@@ -50,8 +50,8 @@ module DynamicMigrations
50
50
  add_column column
51
51
  end
52
52
 
53
- raise ExpectedSymbolError, unique_constraint_name unless unique_constraint_name.is_a? Symbol
54
- @unique_constraint_name = unique_constraint_name
53
+ raise ExpectedSymbolError, name unless name.is_a? Symbol
54
+ @name = name
55
55
 
56
56
  raise UnexpectedIndexTypeError, index_type unless INDEX_TYPES.include?(index_type)
57
57
  @index_type = index_type
@@ -82,15 +82,15 @@ module DynamicMigrations
82
82
  end
83
83
 
84
84
  # assert that the provided column exists within this unique_constraints table
85
- unless @table.has_column? column.column_name
85
+ unless @table.has_column? column.name
86
86
  raise ExpectedArrayOfColumnsError, "One or more columns do not exist in this unique_constraints table"
87
87
  end
88
88
 
89
- if @columns.key?(column.column_name)
90
- raise(DuplicateColumnError, "Column #{column.column_name} already exists in unique_constraint, or is already included")
89
+ if @columns.key?(column.name)
90
+ raise(DuplicateColumnError, "Column #{column.name} already exists in unique_constraint, or is already included")
91
91
  end
92
92
 
93
- @columns[column.column_name] = column
93
+ @columns[column.name] = column
94
94
  end
95
95
  end
96
96
  end
@@ -16,16 +16,16 @@ module DynamicMigrations
16
16
 
17
17
  # returns the unique_constraint object for the provided unique_constraint name, and raises an
18
18
  # error if the unique_constraint does not exist
19
- def unique_constraint unique_constraint_name
20
- raise ExpectedSymbolError, unique_constraint_name unless unique_constraint_name.is_a? Symbol
21
- raise UniqueConstraintDoesNotExistError unless has_unique_constraint? unique_constraint_name
22
- @unique_constraints[unique_constraint_name]
19
+ def unique_constraint name
20
+ raise ExpectedSymbolError, name unless name.is_a? Symbol
21
+ raise UniqueConstraintDoesNotExistError unless has_unique_constraint? name
22
+ @unique_constraints[name]
23
23
  end
24
24
 
25
25
  # returns true if this table has a unique_constraint with the provided name, otherwise false
26
- def has_unique_constraint? unique_constraint_name
27
- raise ExpectedSymbolError, unique_constraint_name unless unique_constraint_name.is_a? Symbol
28
- @unique_constraints.key? unique_constraint_name
26
+ def has_unique_constraint? name
27
+ raise ExpectedSymbolError, name unless name.is_a? Symbol
28
+ @unique_constraints.key? name
29
29
  end
30
30
 
31
31
  # returns an array of this tables unique_constraints
@@ -38,21 +38,21 @@ module DynamicMigrations
38
38
  end
39
39
 
40
40
  # adds a new unique_constraint to this table, and returns it
41
- def add_unique_constraint unique_constraint_name, column_names, **unique_constraint_options
42
- if has_unique_constraint? unique_constraint_name
43
- raise(UniqueConstraintAlreadyExistsError, "unique_constraint #{unique_constraint_name} already exists")
41
+ def add_unique_constraint name, column_names, **unique_constraint_options
42
+ if has_unique_constraint? name
43
+ raise(UniqueConstraintAlreadyExistsError, "unique_constraint #{name} already exists")
44
44
  end
45
45
  columns = column_names.map { |column_name| column column_name }
46
46
  included_target = self
47
47
  if included_target.is_a? Table
48
- new_unique_constraint = @unique_constraints[unique_constraint_name] = UniqueConstraint.new source, included_target, columns, unique_constraint_name, **unique_constraint_options
48
+ new_unique_constraint = @unique_constraints[name] = UniqueConstraint.new source, included_target, columns, name, **unique_constraint_options
49
49
  else
50
50
  raise ModuleIncludedIntoUnexpectedTargetError, included_target
51
51
  end
52
52
  # sort the hash so that the unique_constraints are in alphabetical order by name
53
53
  sorted_unique_constraints = {}
54
- @unique_constraints.keys.sort.each do |unique_constraint_name|
55
- sorted_unique_constraints[unique_constraint_name] = @unique_constraints[unique_constraint_name]
54
+ @unique_constraints.keys.sort.each do |name|
55
+ sorted_unique_constraints[name] = @unique_constraints[name]
56
56
  end
57
57
  @unique_constraints = sorted_unique_constraints
58
58
  # return the new unique_constraint
@@ -18,13 +18,13 @@ module DynamicMigrations
18
18
  end
19
19
 
20
20
  attr_reader :table
21
- attr_reader :validation_name
21
+ attr_reader :name
22
22
  attr_reader :check_clause
23
23
  attr_reader :deferrable
24
24
  attr_reader :initially_deferred
25
25
 
26
26
  # initialize a new object to represent a validation in a postgres table
27
- def initialize source, table, columns, validation_name, check_clause, deferrable: false, initially_deferred: false
27
+ def initialize source, table, columns, name, check_clause, deferrable: false, initially_deferred: false
28
28
  super source
29
29
  raise ExpectedTableError, table unless table.is_a? Table
30
30
  @table = table
@@ -39,8 +39,8 @@ module DynamicMigrations
39
39
  add_column column
40
40
  end
41
41
 
42
- raise ExpectedSymbolError, validation_name unless validation_name.is_a? Symbol
43
- @validation_name = validation_name
42
+ raise ExpectedSymbolError, name unless name.is_a? Symbol
43
+ @name = name
44
44
 
45
45
  raise ExpectedStringError, check_clause unless check_clause.is_a? String
46
46
  @check_clause = check_clause
@@ -71,15 +71,15 @@ module DynamicMigrations
71
71
  end
72
72
 
73
73
  # assert that the provided column exists within this validations table
74
- unless @table.has_column? column.column_name
74
+ unless @table.has_column? column.name
75
75
  raise ExpectedArrayOfColumnsError, "One or more columns do not exist in this validations table"
76
76
  end
77
77
 
78
- if @columns.key? column.column_name
79
- raise(DuplicateColumnError, "Column #{column.column_name} already exists")
78
+ if @columns.key? column.name
79
+ raise(DuplicateColumnError, "Column #{column.name} already exists")
80
80
  end
81
81
 
82
- @columns[column.column_name] = column
82
+ @columns[column.name] = column
83
83
  end
84
84
  end
85
85
  end
@@ -16,16 +16,16 @@ module DynamicMigrations
16
16
 
17
17
  # returns the validation object for the provided validation name, and raises an
18
18
  # error if the validation does not exist
19
- def validation validation_name
20
- raise ExpectedSymbolError, validation_name unless validation_name.is_a? Symbol
21
- raise ValidationDoesNotExistError unless has_validation? validation_name
22
- @validations[validation_name]
19
+ def validation name
20
+ raise ExpectedSymbolError, name unless name.is_a? Symbol
21
+ raise ValidationDoesNotExistError unless has_validation? name
22
+ @validations[name]
23
23
  end
24
24
 
25
25
  # returns true if this table has a validation with the provided name, otherwise false
26
- def has_validation? validation_name
27
- raise ExpectedSymbolError, validation_name unless validation_name.is_a? Symbol
28
- @validations.key? validation_name
26
+ def has_validation? name
27
+ raise ExpectedSymbolError, name unless name.is_a? Symbol
28
+ @validations.key? name
29
29
  end
30
30
 
31
31
  # returns an array of this tables validations
@@ -38,21 +38,21 @@ module DynamicMigrations
38
38
  end
39
39
 
40
40
  # adds a new validation to this table, and returns it
41
- def add_validation validation_name, column_names, check_clause, **validation_options
42
- if has_validation? validation_name
43
- raise(ValidationAlreadyExistsError, "Validation #{validation_name} already exists")
41
+ def add_validation name, column_names, check_clause, **validation_options
42
+ if has_validation? name
43
+ raise(ValidationAlreadyExistsError, "Validation #{name} already exists")
44
44
  end
45
45
  columns = column_names.map { |column_name| column column_name }
46
46
  included_target = self
47
47
  if included_target.is_a? Table
48
- new_validation = @validations[validation_name] = Validation.new source, included_target, columns, validation_name, check_clause, **validation_options
48
+ new_validation = @validations[name] = Validation.new source, included_target, columns, name, check_clause, **validation_options
49
49
  else
50
50
  raise ModuleIncludedIntoUnexpectedTargetError, included_target
51
51
  end
52
52
  # sort the hash so that the validations are in alphabetical order by name
53
53
  sorted_validations = {}
54
- @validations.keys.sort.each do |validation_name|
55
- sorted_validations[validation_name] = @validations[validation_name]
54
+ @validations.keys.sort.each do |name|
55
+ sorted_validations[name] = @validations[name]
56
56
  end
57
57
  @validations = sorted_validations
58
58
  # return the new validation
@@ -20,20 +20,20 @@ module DynamicMigrations
20
20
  include UniqueConstraints
21
21
 
22
22
  attr_reader :schema
23
- attr_reader :table_name
23
+ attr_reader :name
24
24
  attr_reader :description
25
25
 
26
26
  # initialize a new object to represent a postgres table
27
- def initialize source, schema, table_name, description = nil
27
+ def initialize source, schema, name, description = nil
28
28
  super source
29
29
  raise ExpectedSchemaError, schema unless schema.is_a? Schema
30
- raise ExpectedSymbolError, table_name unless table_name.is_a? Symbol
30
+ raise ExpectedSymbolError, name unless name.is_a? Symbol
31
31
  unless description.nil?
32
32
  raise ExpectedStringError, description unless description.is_a? String
33
33
  @description = description
34
34
  end
35
35
  @schema = schema
36
- @table_name = table_name
36
+ @name = name
37
37
  @columns = {}
38
38
  @validations = {}
39
39
  @indexes = {}
@@ -47,10 +47,10 @@ module DynamicMigrations
47
47
  end
48
48
 
49
49
  # add a primary key to this table
50
- def add_primary_key primary_key_name, column_names, **primary_key_options
50
+ def add_primary_key name, column_names, **primary_key_options
51
51
  raise PrimaryKeyAlreadyExistsError if @primary_key
52
52
  columns = column_names.map { |column_name| column column_name }
53
- @primary_key = PrimaryKey.new source, self, columns, primary_key_name, **primary_key_options
53
+ @primary_key = PrimaryKey.new source, self, columns, name, **primary_key_options
54
54
  end
55
55
 
56
56
  # returns true if this table has a primary key, otherwise false
@@ -18,15 +18,15 @@ module DynamicMigrations
18
18
  end
19
19
 
20
20
  attr_reader :database
21
- attr_reader :schema_name
21
+ attr_reader :name
22
22
 
23
23
  # initialize a new object to represent a postgres schema
24
- def initialize source, database, schema_name
24
+ def initialize source, database, name
25
25
  super source
26
26
  raise ExpectedDatabaseError, database unless database.is_a? Database
27
- raise ExpectedSymbolError, schema_name unless schema_name.is_a? Symbol
27
+ raise ExpectedSymbolError, name unless name.is_a? Symbol
28
28
  @database = database
29
- @schema_name = schema_name
29
+ @name = name
30
30
  @tables = {}
31
31
  end
32
32
 
@@ -18,14 +18,14 @@ module DynamicMigrations
18
18
  include LoadedSchemasBuilder
19
19
 
20
20
  attr_reader :server
21
- attr_reader :database_name
21
+ attr_reader :name
22
22
 
23
23
  # initialize a new object to represent a postgres database
24
- def initialize server, database_name
24
+ def initialize server, name
25
25
  raise ExpectedServerError, server unless server.is_a? Server
26
- raise ExpectedSymbolError, database_name unless database_name.is_a? Symbol
26
+ raise ExpectedSymbolError, name unless name.is_a? Symbol
27
27
  @server = server
28
- @database_name = database_name
28
+ @name = name
29
29
  @configured_schemas = {}
30
30
  @loaded_schemas = {}
31
31
  end
@@ -18,15 +18,15 @@ module DynamicMigrations
18
18
  @databases = {}
19
19
  end
20
20
 
21
- def add_database database_name
22
- raise ExpectedSymbolError, database_name unless database_name.is_a? Symbol
23
- raise DatabaseAlreadyExistsError, "database `#{database_name}` already exists" if @databases.key? database_name
24
- @databases[database_name] = Database.new self, database_name
21
+ def add_database name
22
+ raise ExpectedSymbolError, name unless name.is_a? Symbol
23
+ raise DatabaseAlreadyExistsError, "database `#{name}` already exists" if @databases.key? name
24
+ @databases[name] = Database.new self, name
25
25
  end
26
26
 
27
- def database database_name
28
- raise ExpectedSymbolError, database_name unless database_name.is_a? Symbol
29
- @databases[database_name]
27
+ def database name
28
+ raise ExpectedSymbolError, name unless name.is_a? Symbol
29
+ @databases[name]
30
30
  end
31
31
 
32
32
  def databases
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DynamicMigrations
4
- VERSION = "1.1.1"
4
+ VERSION = "2.0.0"
5
5
  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: 1.1.1
4
+ version: 2.0.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-07-17 00:00:00.000000000 Z
11
+ date: 2023-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pg