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

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