schema_plus 2.0.0.pre14 → 2.0.0.pre15
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 +4 -4
- data/README.md +1 -1
- data/lib/schema_plus/foreign_keys/active_record/connection_adapters/table_definition.rb +14 -7
- data/lib/schema_plus/foreign_keys/middleware/sql.rb +1 -1
- data/lib/schema_plus/version.rb +1 -1
- data/spec/schema_plus_foreign_keys/migration_spec.rb +8 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 33f3e9b7a9b9bd74e21216f8f7c309556a660709
|
4
|
+
data.tar.gz: 00277e248e33a72fbfd052aa2124704f11a25b1b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 853671712bd6a18f8ca52dade7785d7a0450f6e4e5cd3e66f63c24e548a545f9e6feb1d308d75d79202e0d7c8ecc16971e50528d04b3c4995d6a1b687c10dd21
|
7
|
+
data.tar.gz: 3561d6d3cdd731354254895c81a9b800e1848164a8d47b85549c8e2a56fe56ad64518c8a091d4e1124bfa39273318a034147020fca80ceac6dba4724435d8fce
|
data/README.md
CHANGED
@@ -35,7 +35,7 @@ See detailed documentation in each gem's README.
|
|
35
35
|
[](https://gemnasium.com/SchemaPlus/schema_plus)
|
36
36
|
|
37
37
|
|
38
|
-
> ## This is the README for schema_plus 2.0.0.
|
38
|
+
> ## This is the README for schema_plus 2.0.0.pre15
|
39
39
|
> which supports Rails >= 4.2.0. This prerelease is completely usable. It's still officially a prerelease rather than formal release because some features have yet to be migrated into their own gems.
|
40
40
|
>
|
41
41
|
> For info about the 1.x releases which support Rails 3.1, 4.0, 4.1, and 4.2.0, see the [schema_plus 1.x](https://github.com/SchemaPlus/schema_plus/tree/1.x) branch
|
@@ -67,9 +67,19 @@ module SchemaPlus::ForeignKeys::ActiveRecord::ConnectionAdapters
|
|
67
67
|
|
68
68
|
attr_accessor :schema_plus_config #:nodoc:
|
69
69
|
|
70
|
-
|
71
|
-
|
72
|
-
|
70
|
+
if ActiveRecord.version == Gem::Version.new("4.2.0")
|
71
|
+
def foreign_keys
|
72
|
+
@foreign_keys ||= []
|
73
|
+
end
|
74
|
+
|
75
|
+
def foreign_keys_for_table(*)
|
76
|
+
foreign_keys
|
77
|
+
end
|
78
|
+
else
|
79
|
+
def foreign_keys_for_table(table)
|
80
|
+
foreign_keys[table] ||= []
|
81
|
+
end
|
82
|
+
end
|
73
83
|
|
74
84
|
def foreign_key(*args) # (column_names, to_table, primary_key=nil, options=nil)
|
75
85
|
options = args.extract_options!
|
@@ -90,10 +100,7 @@ module SchemaPlus::ForeignKeys::ActiveRecord::ConnectionAdapters
|
|
90
100
|
options.merge!(:column => column_names)
|
91
101
|
options.reverse_merge!(:name => ForeignKeyDefinition.default_name(self.name, column_names))
|
92
102
|
fk = ::ActiveRecord::ConnectionAdapters::ForeignKeyDefinition.new(self.name, AbstractAdapter.proper_table_name(to_table), options)
|
93
|
-
|
94
|
-
when Gem::Version.new("4.2.0") then foreign_keys << fk
|
95
|
-
else foreign_keys[fk.to_table] = fk
|
96
|
-
end
|
103
|
+
foreign_keys_for_table(fk.to_table) << fk
|
97
104
|
self
|
98
105
|
end
|
99
106
|
|
@@ -5,7 +5,7 @@ module SchemaPlus::ForeignKeys
|
|
5
5
|
def after(env)
|
6
6
|
foreign_keys = case ::ActiveRecord.version
|
7
7
|
when Gem::Version.new("4.2.0") then env.table_definition.foreign_keys
|
8
|
-
else env.table_definition.foreign_keys.values
|
8
|
+
else env.table_definition.foreign_keys.values.tap { |v| v.flatten! }
|
9
9
|
end
|
10
10
|
|
11
11
|
# create foreign key constraints inline in table definition
|
data/lib/schema_plus/version.rb
CHANGED
@@ -100,6 +100,14 @@ describe ActiveRecord::Migration do
|
|
100
100
|
expect(@model).to reference(:users, :id).with_name("wugga")
|
101
101
|
end
|
102
102
|
|
103
|
+
it "should allow multiple foreign keys to be made" do
|
104
|
+
recreate_table(@model) do |t|
|
105
|
+
t.integer :updater_id, :references => :users
|
106
|
+
end
|
107
|
+
expect(@model).to reference(:users, :id).on(:user_id)
|
108
|
+
expect(@model).to reference(:users, :id).on(:updater_id)
|
109
|
+
end
|
110
|
+
|
103
111
|
it "should suppress foreign key" do
|
104
112
|
recreate_table(@model) do |t|
|
105
113
|
t.integer :member_id, :foreign_key => false
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: schema_plus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.0.
|
4
|
+
version: 2.0.0.pre15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ronen Barzel
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-04-
|
12
|
+
date: 2015-04-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|