declare_schema 1.2.3.pre.ga.9 → 1.2.3.pre.ga.10

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e09beef167920318bac9b447f693d1301cd3d50bc9299dc8fd815de987e08977
4
- data.tar.gz: de03405c8b47000f1946dba49376753ecea9fb1a90dac78c2bf816b8eb2818b4
3
+ metadata.gz: 5432e4443335e0e9b60e9242f1b6523b833ae70434c7a0a13c5c01fd72b5a96c
4
+ data.tar.gz: 94c14df3be1af4d13103417ccec13a41461ecd9ad21922a44338de33b879cda9
5
5
  SHA512:
6
- metadata.gz: 0d77e6527a3583e1c7a7fddb446f88a226218f74ff0f596f278f6f496570a3dc139cae28a3ce207cda37e365c83107e4c4c0832de868c357d0b21f752f7fb09f
7
- data.tar.gz: 4f4fdff9bf470cf623de038e596462073078838a18d4a7ad1d8def80ee4178aba99a332e36c6b56d6caedb7094c4ec54e084bcaa39dce1a3393fde0a82d43fc9
6
+ metadata.gz: bc84382b23765a035f81b063c6e066f5ef6d56b4605696d3e4a15417d64ba7b42d8c0ddc157796d180b3adde9135934ceee2d156d5de1fecd22f751ee4b303a6
7
+ data.tar.gz: afaf8a450c895880c97accb55dbb36c96152b1f3ce7c4ede51e8da5c4aa0044a6862adc2ffcab4f82276285f8a3b19d3226342ac3011d9f6c84bc2a930ac909d
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- declare_schema (1.2.3.pre.ga.9)
4
+ declare_schema (1.2.3.pre.ga.10)
5
5
  rails (>= 5.0)
6
6
 
7
7
  GEM
@@ -19,7 +19,7 @@ module DeclareSchema
19
19
  @table = options.delete(:table_name) || model.table_name
20
20
  @fields = Array.wrap(fields).map(&:to_s)
21
21
  @explicit_name = options[:name] unless options.delete(:allow_equivalent)
22
- @name = options.delete(:name) || self.class.index_name(@fields)
22
+ @name = options.delete(:name) || self.class.default_index_name(@fields)
23
23
  @unique = options.delete(:unique) || name == PRIMARY_KEY_NAME || false
24
24
 
25
25
  if @name.length > MYSQL_INDEX_NAME_MAX_LENGTH
@@ -33,14 +33,11 @@ module DeclareSchema
33
33
 
34
34
  class << self
35
35
  # extract IndexSpecs from an existing table
36
- # always includes the PRIMARY KEY index for Model unless it is a HABTM Model.
37
36
  def for_model(model, old_table_name = nil)
38
37
  t = old_table_name || model.table_name
39
38
 
40
- habtm_model = model.is_a?(DeclareSchema::Model::HabtmModelShim)
41
-
42
39
  primary_key_columns = Array(model.connection.primary_key(t)).presence
43
- primary_key_columns || habtm_model or
40
+ primary_key_columns or
44
41
  raise "could not find primary key for table #{t} in #{model.connection.columns(t).inspect}"
45
42
 
46
43
  primary_key_found = false
@@ -50,20 +47,17 @@ module DeclareSchema
50
47
  i.columns == primary_key_columns && i.unique or
51
48
  raise "primary key on #{t} was not unique on #{primary_key_columns} (was unique=#{i.unique} on #{i.columns})"
52
49
  primary_key_found = true
53
- elsif i.columns == primary_key_columns && i.unique && !habtm_model
54
- # skip this primary key index since we'll create it below, with PRIMARY_KEY_NAME
55
- next
56
50
  end
57
51
  new(model, i.columns, name: i.name, unique: i.unique, where: i.where, table_name: old_table_name)
58
52
  end.compact
59
53
 
60
- if !primary_key_found && !habtm_model
54
+ if !primary_key_found
61
55
  index_definitions << new(model, primary_key_columns, name: PRIMARY_KEY_NAME, unique: true, where: nil, table_name: old_table_name)
62
56
  end
63
57
  index_definitions
64
58
  end
65
59
 
66
- def index_name(columns)
60
+ def default_index_name(columns)
67
61
  "on_#{Array(columns).join("_and_")}"
68
62
  end
69
63
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DeclareSchema
4
- VERSION = "1.2.3.pre.ga.9"
4
+ VERSION = "1.2.3.pre.ga.10"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: declare_schema
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.3.pre.ga.9
4
+ version: 1.2.3.pre.ga.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Invoca Development adapted from hobo_fields by Tom Locke
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-30 00:00:00.000000000 Z
11
+ date: 2023-03-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails