dynamic_migrations 1.1.1 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
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