schema_plus 0.2.0 → 0.2.1
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.
- data/README.rdoc +3 -0
- data/gemfiles/Gemfile.rails-2.3.lock +14 -14
- data/gemfiles/Gemfile.rails-3.0.lock +44 -42
- data/gemfiles/Gemfile.rails-3.1.lock +49 -49
- data/gemfiles/Gemfile.rails-3.2 +5 -0
- data/gemfiles/Gemfile.rails-3.2.lock +121 -0
- data/lib/schema_plus/active_record/connection_adapters/abstract_adapter.rb +7 -1
- data/lib/schema_plus/active_record/connection_adapters/index_definition.rb +13 -0
- data/lib/schema_plus/active_record/connection_adapters/postgresql_adapter.rb +2 -0
- data/lib/schema_plus/active_record/connection_adapters/schema_statements.rb +28 -0
- data/lib/schema_plus/version.rb +1 -1
- data/runspecs +37 -22
- data/spec/index_spec.rb +18 -0
- metadata +136 -132
data/README.rdoc
CHANGED
|
@@ -148,6 +148,9 @@ take advantage of auto-creation of foreign keys, you can re-enable it:
|
|
|
148
148
|
|
|
149
149
|
== History
|
|
150
150
|
|
|
151
|
+
* Recent Release notes:
|
|
152
|
+
* 0.2.1 - suppress duplicate add_indexes. compatibility with rails 3.2.0.rc2
|
|
153
|
+
|
|
151
154
|
* SchemaPlus is derived from several "Red Hill On Rails" plugins
|
|
152
155
|
originally created by harukizaemon (https://github.com/harukizaemon)
|
|
153
156
|
with later contributions from
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
PATH
|
|
2
|
-
remote: /
|
|
2
|
+
remote: /Users/ronen/github/schema_plus
|
|
3
3
|
specs:
|
|
4
4
|
schema_plus (0.2.0)
|
|
5
5
|
rails
|
|
@@ -19,11 +19,11 @@ GEM
|
|
|
19
19
|
activesupport (= 2.3.14)
|
|
20
20
|
activesupport (2.3.14)
|
|
21
21
|
diff-lcs (1.1.3)
|
|
22
|
-
multi_json (1.0.
|
|
22
|
+
multi_json (1.0.4)
|
|
23
23
|
mysql (2.8.1)
|
|
24
|
-
mysql2 (0.2.
|
|
25
|
-
pg (0.
|
|
26
|
-
rack (1.1.
|
|
24
|
+
mysql2 (0.2.18)
|
|
25
|
+
pg (0.12.2)
|
|
26
|
+
rack (1.1.3)
|
|
27
27
|
rails (2.3.14)
|
|
28
28
|
actionmailer (= 2.3.14)
|
|
29
29
|
actionpack (= 2.3.14)
|
|
@@ -32,21 +32,21 @@ GEM
|
|
|
32
32
|
activesupport (= 2.3.14)
|
|
33
33
|
rake (>= 0.8.3)
|
|
34
34
|
rake (0.8.7)
|
|
35
|
-
rspec (2.
|
|
36
|
-
rspec-core (~> 2.
|
|
37
|
-
rspec-expectations (~> 2.
|
|
38
|
-
rspec-mocks (~> 2.
|
|
39
|
-
rspec-core (2.
|
|
40
|
-
rspec-expectations (2.
|
|
35
|
+
rspec (2.8.0)
|
|
36
|
+
rspec-core (~> 2.8.0)
|
|
37
|
+
rspec-expectations (~> 2.8.0)
|
|
38
|
+
rspec-mocks (~> 2.8.0)
|
|
39
|
+
rspec-core (2.8.0)
|
|
40
|
+
rspec-expectations (2.8.0)
|
|
41
41
|
diff-lcs (~> 1.1.2)
|
|
42
|
-
rspec-mocks (2.
|
|
43
|
-
simplecov (0.5.
|
|
42
|
+
rspec-mocks (2.8.0)
|
|
43
|
+
simplecov (0.5.4)
|
|
44
44
|
multi_json (~> 1.0.3)
|
|
45
45
|
simplecov-html (~> 0.5.3)
|
|
46
46
|
simplecov-gem-adapter (1.0.1)
|
|
47
47
|
simplecov
|
|
48
48
|
simplecov-html (0.5.3)
|
|
49
|
-
sqlite3 (1.3.
|
|
49
|
+
sqlite3 (1.3.5)
|
|
50
50
|
valuable (0.9.2)
|
|
51
51
|
|
|
52
52
|
PLATFORMS
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
PATH
|
|
2
|
-
remote: /
|
|
2
|
+
remote: /Users/ronen/github/schema_plus
|
|
3
3
|
specs:
|
|
4
4
|
schema_plus (0.2.0)
|
|
5
5
|
rails
|
|
@@ -9,12 +9,12 @@ GEM
|
|
|
9
9
|
remote: http://rubygems.org/
|
|
10
10
|
specs:
|
|
11
11
|
abstract (1.0.0)
|
|
12
|
-
actionmailer (3.0.
|
|
13
|
-
actionpack (= 3.0.
|
|
12
|
+
actionmailer (3.0.11)
|
|
13
|
+
actionpack (= 3.0.11)
|
|
14
14
|
mail (~> 2.2.19)
|
|
15
|
-
actionpack (3.0.
|
|
16
|
-
activemodel (= 3.0.
|
|
17
|
-
activesupport (= 3.0.
|
|
15
|
+
actionpack (3.0.11)
|
|
16
|
+
activemodel (= 3.0.11)
|
|
17
|
+
activesupport (= 3.0.11)
|
|
18
18
|
builder (~> 2.1.2)
|
|
19
19
|
erubis (~> 2.6.6)
|
|
20
20
|
i18n (~> 0.5.0)
|
|
@@ -22,77 +22,79 @@ GEM
|
|
|
22
22
|
rack-mount (~> 0.6.14)
|
|
23
23
|
rack-test (~> 0.5.7)
|
|
24
24
|
tzinfo (~> 0.3.23)
|
|
25
|
-
activemodel (3.0.
|
|
26
|
-
activesupport (= 3.0.
|
|
25
|
+
activemodel (3.0.11)
|
|
26
|
+
activesupport (= 3.0.11)
|
|
27
27
|
builder (~> 2.1.2)
|
|
28
28
|
i18n (~> 0.5.0)
|
|
29
|
-
activerecord (3.0.
|
|
30
|
-
activemodel (= 3.0.
|
|
31
|
-
activesupport (= 3.0.
|
|
29
|
+
activerecord (3.0.11)
|
|
30
|
+
activemodel (= 3.0.11)
|
|
31
|
+
activesupport (= 3.0.11)
|
|
32
32
|
arel (~> 2.0.10)
|
|
33
33
|
tzinfo (~> 0.3.23)
|
|
34
|
-
activeresource (3.0.
|
|
35
|
-
activemodel (= 3.0.
|
|
36
|
-
activesupport (= 3.0.
|
|
37
|
-
activesupport (3.0.
|
|
34
|
+
activeresource (3.0.11)
|
|
35
|
+
activemodel (= 3.0.11)
|
|
36
|
+
activesupport (= 3.0.11)
|
|
37
|
+
activesupport (3.0.11)
|
|
38
38
|
arel (2.0.10)
|
|
39
39
|
builder (2.1.2)
|
|
40
40
|
diff-lcs (1.1.3)
|
|
41
41
|
erubis (2.6.6)
|
|
42
42
|
abstract (>= 1.0.0)
|
|
43
43
|
i18n (0.5.0)
|
|
44
|
+
json (1.6.4)
|
|
44
45
|
mail (2.2.19)
|
|
45
46
|
activesupport (>= 2.3.6)
|
|
46
47
|
i18n (>= 0.4.0)
|
|
47
48
|
mime-types (~> 1.16)
|
|
48
49
|
treetop (~> 1.4.8)
|
|
49
|
-
mime-types (1.
|
|
50
|
-
multi_json (1.0.
|
|
50
|
+
mime-types (1.17.2)
|
|
51
|
+
multi_json (1.0.4)
|
|
51
52
|
mysql (2.8.1)
|
|
52
|
-
mysql2 (0.2.
|
|
53
|
-
pg (0.
|
|
54
|
-
polyglot (0.3.
|
|
55
|
-
rack (1.2.
|
|
53
|
+
mysql2 (0.2.18)
|
|
54
|
+
pg (0.12.2)
|
|
55
|
+
polyglot (0.3.3)
|
|
56
|
+
rack (1.2.5)
|
|
56
57
|
rack-mount (0.6.14)
|
|
57
58
|
rack (>= 1.0.0)
|
|
58
59
|
rack-test (0.5.7)
|
|
59
60
|
rack (>= 1.0)
|
|
60
|
-
rails (3.0.
|
|
61
|
-
actionmailer (= 3.0.
|
|
62
|
-
actionpack (= 3.0.
|
|
63
|
-
activerecord (= 3.0.
|
|
64
|
-
activeresource (= 3.0.
|
|
65
|
-
activesupport (= 3.0.
|
|
61
|
+
rails (3.0.11)
|
|
62
|
+
actionmailer (= 3.0.11)
|
|
63
|
+
actionpack (= 3.0.11)
|
|
64
|
+
activerecord (= 3.0.11)
|
|
65
|
+
activeresource (= 3.0.11)
|
|
66
|
+
activesupport (= 3.0.11)
|
|
66
67
|
bundler (~> 1.0)
|
|
67
|
-
railties (= 3.0.
|
|
68
|
-
railties (3.0.
|
|
69
|
-
actionpack (= 3.0.
|
|
70
|
-
activesupport (= 3.0.
|
|
68
|
+
railties (= 3.0.11)
|
|
69
|
+
railties (3.0.11)
|
|
70
|
+
actionpack (= 3.0.11)
|
|
71
|
+
activesupport (= 3.0.11)
|
|
71
72
|
rake (>= 0.8.7)
|
|
72
73
|
rdoc (~> 3.4)
|
|
73
74
|
thor (~> 0.14.4)
|
|
74
75
|
rake (0.8.7)
|
|
75
|
-
rdoc (3.
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
rspec-
|
|
79
|
-
rspec-
|
|
80
|
-
|
|
81
|
-
rspec-
|
|
76
|
+
rdoc (3.12)
|
|
77
|
+
json (~> 1.4)
|
|
78
|
+
rspec (2.8.0)
|
|
79
|
+
rspec-core (~> 2.8.0)
|
|
80
|
+
rspec-expectations (~> 2.8.0)
|
|
81
|
+
rspec-mocks (~> 2.8.0)
|
|
82
|
+
rspec-core (2.8.0)
|
|
83
|
+
rspec-expectations (2.8.0)
|
|
82
84
|
diff-lcs (~> 1.1.2)
|
|
83
|
-
rspec-mocks (2.
|
|
84
|
-
simplecov (0.5.
|
|
85
|
+
rspec-mocks (2.8.0)
|
|
86
|
+
simplecov (0.5.4)
|
|
85
87
|
multi_json (~> 1.0.3)
|
|
86
88
|
simplecov-html (~> 0.5.3)
|
|
87
89
|
simplecov-gem-adapter (1.0.1)
|
|
88
90
|
simplecov
|
|
89
91
|
simplecov-html (0.5.3)
|
|
90
|
-
sqlite3 (1.3.
|
|
92
|
+
sqlite3 (1.3.5)
|
|
91
93
|
thor (0.14.6)
|
|
92
94
|
treetop (1.4.10)
|
|
93
95
|
polyglot
|
|
94
96
|
polyglot (>= 0.3.1)
|
|
95
|
-
tzinfo (0.3.
|
|
97
|
+
tzinfo (0.3.31)
|
|
96
98
|
valuable (0.9.2)
|
|
97
99
|
|
|
98
100
|
PLATFORMS
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
PATH
|
|
2
|
-
remote: /
|
|
2
|
+
remote: /Users/ronen/github/schema_plus
|
|
3
3
|
specs:
|
|
4
4
|
schema_plus (0.2.0)
|
|
5
5
|
rails
|
|
@@ -8,54 +8,53 @@ PATH
|
|
|
8
8
|
GEM
|
|
9
9
|
remote: http://rubygems.org/
|
|
10
10
|
specs:
|
|
11
|
-
actionmailer (3.1.
|
|
12
|
-
actionpack (= 3.1.
|
|
11
|
+
actionmailer (3.1.3)
|
|
12
|
+
actionpack (= 3.1.3)
|
|
13
13
|
mail (~> 2.3.0)
|
|
14
|
-
actionpack (3.1.
|
|
15
|
-
activemodel (= 3.1.
|
|
16
|
-
activesupport (= 3.1.
|
|
14
|
+
actionpack (3.1.3)
|
|
15
|
+
activemodel (= 3.1.3)
|
|
16
|
+
activesupport (= 3.1.3)
|
|
17
17
|
builder (~> 3.0.0)
|
|
18
18
|
erubis (~> 2.7.0)
|
|
19
19
|
i18n (~> 0.6)
|
|
20
|
-
rack (~> 1.3.
|
|
21
|
-
rack-cache (~> 1.
|
|
20
|
+
rack (~> 1.3.5)
|
|
21
|
+
rack-cache (~> 1.1)
|
|
22
22
|
rack-mount (~> 0.8.2)
|
|
23
23
|
rack-test (~> 0.6.1)
|
|
24
|
-
sprockets (~> 2.0.
|
|
25
|
-
activemodel (3.1.
|
|
26
|
-
activesupport (= 3.1.
|
|
27
|
-
bcrypt-ruby (~> 3.0.0)
|
|
24
|
+
sprockets (~> 2.0.3)
|
|
25
|
+
activemodel (3.1.3)
|
|
26
|
+
activesupport (= 3.1.3)
|
|
28
27
|
builder (~> 3.0.0)
|
|
29
28
|
i18n (~> 0.6)
|
|
30
|
-
activerecord (3.1.
|
|
31
|
-
activemodel (= 3.1.
|
|
32
|
-
activesupport (= 3.1.
|
|
29
|
+
activerecord (3.1.3)
|
|
30
|
+
activemodel (= 3.1.3)
|
|
31
|
+
activesupport (= 3.1.3)
|
|
33
32
|
arel (~> 2.2.1)
|
|
34
33
|
tzinfo (~> 0.3.29)
|
|
35
|
-
activeresource (3.1.
|
|
36
|
-
activemodel (= 3.1.
|
|
37
|
-
activesupport (= 3.1.
|
|
38
|
-
activesupport (3.1.
|
|
34
|
+
activeresource (3.1.3)
|
|
35
|
+
activemodel (= 3.1.3)
|
|
36
|
+
activesupport (= 3.1.3)
|
|
37
|
+
activesupport (3.1.3)
|
|
39
38
|
multi_json (~> 1.0)
|
|
40
39
|
arel (2.2.1)
|
|
41
|
-
bcrypt-ruby (3.0.1)
|
|
42
40
|
builder (3.0.0)
|
|
43
41
|
diff-lcs (1.1.3)
|
|
44
42
|
erubis (2.7.0)
|
|
45
43
|
hike (1.2.1)
|
|
46
44
|
i18n (0.6.0)
|
|
45
|
+
json (1.6.4)
|
|
47
46
|
mail (2.3.0)
|
|
48
47
|
i18n (>= 0.4.0)
|
|
49
48
|
mime-types (~> 1.16)
|
|
50
49
|
treetop (~> 1.4.8)
|
|
51
|
-
mime-types (1.
|
|
52
|
-
multi_json (1.0.
|
|
50
|
+
mime-types (1.17.2)
|
|
51
|
+
multi_json (1.0.4)
|
|
53
52
|
mysql (2.8.1)
|
|
54
|
-
mysql2 (0.3.
|
|
55
|
-
pg (0.
|
|
56
|
-
polyglot (0.3.
|
|
57
|
-
rack (1.3.
|
|
58
|
-
rack-cache (1.
|
|
53
|
+
mysql2 (0.3.11)
|
|
54
|
+
pg (0.12.2)
|
|
55
|
+
polyglot (0.3.3)
|
|
56
|
+
rack (1.3.6)
|
|
57
|
+
rack-cache (1.1)
|
|
59
58
|
rack (>= 0.4)
|
|
60
59
|
rack-mount (0.8.3)
|
|
61
60
|
rack (>= 1.0.0)
|
|
@@ -63,48 +62,49 @@ GEM
|
|
|
63
62
|
rack
|
|
64
63
|
rack-test (0.6.1)
|
|
65
64
|
rack (>= 1.0)
|
|
66
|
-
rails (3.1.
|
|
67
|
-
actionmailer (= 3.1.
|
|
68
|
-
actionpack (= 3.1.
|
|
69
|
-
activerecord (= 3.1.
|
|
70
|
-
activeresource (= 3.1.
|
|
71
|
-
activesupport (= 3.1.
|
|
65
|
+
rails (3.1.3)
|
|
66
|
+
actionmailer (= 3.1.3)
|
|
67
|
+
actionpack (= 3.1.3)
|
|
68
|
+
activerecord (= 3.1.3)
|
|
69
|
+
activeresource (= 3.1.3)
|
|
70
|
+
activesupport (= 3.1.3)
|
|
72
71
|
bundler (~> 1.0)
|
|
73
|
-
railties (= 3.1.
|
|
74
|
-
railties (3.1.
|
|
75
|
-
actionpack (= 3.1.
|
|
76
|
-
activesupport (= 3.1.
|
|
72
|
+
railties (= 3.1.3)
|
|
73
|
+
railties (3.1.3)
|
|
74
|
+
actionpack (= 3.1.3)
|
|
75
|
+
activesupport (= 3.1.3)
|
|
77
76
|
rack-ssl (~> 1.3.2)
|
|
78
77
|
rake (>= 0.8.7)
|
|
79
78
|
rdoc (~> 3.4)
|
|
80
79
|
thor (~> 0.14.6)
|
|
81
80
|
rake (0.8.7)
|
|
82
|
-
rdoc (3.
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
rspec-
|
|
86
|
-
rspec-
|
|
87
|
-
|
|
88
|
-
rspec-
|
|
81
|
+
rdoc (3.12)
|
|
82
|
+
json (~> 1.4)
|
|
83
|
+
rspec (2.8.0)
|
|
84
|
+
rspec-core (~> 2.8.0)
|
|
85
|
+
rspec-expectations (~> 2.8.0)
|
|
86
|
+
rspec-mocks (~> 2.8.0)
|
|
87
|
+
rspec-core (2.8.0)
|
|
88
|
+
rspec-expectations (2.8.0)
|
|
89
89
|
diff-lcs (~> 1.1.2)
|
|
90
|
-
rspec-mocks (2.
|
|
91
|
-
simplecov (0.5.
|
|
90
|
+
rspec-mocks (2.8.0)
|
|
91
|
+
simplecov (0.5.4)
|
|
92
92
|
multi_json (~> 1.0.3)
|
|
93
93
|
simplecov-html (~> 0.5.3)
|
|
94
94
|
simplecov-gem-adapter (1.0.1)
|
|
95
95
|
simplecov
|
|
96
96
|
simplecov-html (0.5.3)
|
|
97
|
-
sprockets (2.0.
|
|
97
|
+
sprockets (2.0.3)
|
|
98
98
|
hike (~> 1.2)
|
|
99
99
|
rack (~> 1.0)
|
|
100
100
|
tilt (~> 1.1, != 1.3.0)
|
|
101
|
-
sqlite3 (1.3.
|
|
101
|
+
sqlite3 (1.3.5)
|
|
102
102
|
thor (0.14.6)
|
|
103
103
|
tilt (1.3.3)
|
|
104
104
|
treetop (1.4.10)
|
|
105
105
|
polyglot
|
|
106
106
|
polyglot (>= 0.3.1)
|
|
107
|
-
tzinfo (0.3.
|
|
107
|
+
tzinfo (0.3.31)
|
|
108
108
|
valuable (0.9.2)
|
|
109
109
|
|
|
110
110
|
PLATFORMS
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: /Users/ronen/github/schema_plus
|
|
3
|
+
specs:
|
|
4
|
+
schema_plus (0.2.0)
|
|
5
|
+
rails
|
|
6
|
+
valuable
|
|
7
|
+
|
|
8
|
+
GEM
|
|
9
|
+
remote: http://rubygems.org/
|
|
10
|
+
specs:
|
|
11
|
+
actionmailer (3.2.0.rc2)
|
|
12
|
+
actionpack (= 3.2.0.rc2)
|
|
13
|
+
mail (~> 2.3.0)
|
|
14
|
+
actionpack (3.2.0.rc2)
|
|
15
|
+
activemodel (= 3.2.0.rc2)
|
|
16
|
+
activesupport (= 3.2.0.rc2)
|
|
17
|
+
builder (~> 3.0.0)
|
|
18
|
+
erubis (~> 2.7.0)
|
|
19
|
+
journey (~> 1.0.0.rc1)
|
|
20
|
+
rack (~> 1.4.0)
|
|
21
|
+
rack-cache (~> 1.1)
|
|
22
|
+
rack-test (~> 0.6.1)
|
|
23
|
+
sprockets (~> 2.1.2)
|
|
24
|
+
activemodel (3.2.0.rc2)
|
|
25
|
+
activesupport (= 3.2.0.rc2)
|
|
26
|
+
builder (~> 3.0.0)
|
|
27
|
+
activerecord (3.2.0.rc2)
|
|
28
|
+
activemodel (= 3.2.0.rc2)
|
|
29
|
+
activesupport (= 3.2.0.rc2)
|
|
30
|
+
arel (~> 3.0.0.rc1)
|
|
31
|
+
tzinfo (~> 0.3.29)
|
|
32
|
+
activeresource (3.2.0.rc2)
|
|
33
|
+
activemodel (= 3.2.0.rc2)
|
|
34
|
+
activesupport (= 3.2.0.rc2)
|
|
35
|
+
activesupport (3.2.0.rc2)
|
|
36
|
+
i18n (~> 0.6)
|
|
37
|
+
multi_json (~> 1.0)
|
|
38
|
+
arel (3.0.0.rc1)
|
|
39
|
+
builder (3.0.0)
|
|
40
|
+
diff-lcs (1.1.3)
|
|
41
|
+
erubis (2.7.0)
|
|
42
|
+
hike (1.2.1)
|
|
43
|
+
i18n (0.6.0)
|
|
44
|
+
journey (1.0.0.rc4)
|
|
45
|
+
json (1.6.4)
|
|
46
|
+
mail (2.3.0)
|
|
47
|
+
i18n (>= 0.4.0)
|
|
48
|
+
mime-types (~> 1.16)
|
|
49
|
+
treetop (~> 1.4.8)
|
|
50
|
+
mime-types (1.17.2)
|
|
51
|
+
multi_json (1.0.4)
|
|
52
|
+
mysql (2.8.1)
|
|
53
|
+
mysql2 (0.3.11)
|
|
54
|
+
pg (0.12.2)
|
|
55
|
+
polyglot (0.3.3)
|
|
56
|
+
rack (1.4.0)
|
|
57
|
+
rack-cache (1.1)
|
|
58
|
+
rack (>= 0.4)
|
|
59
|
+
rack-ssl (1.3.2)
|
|
60
|
+
rack
|
|
61
|
+
rack-test (0.6.1)
|
|
62
|
+
rack (>= 1.0)
|
|
63
|
+
rails (3.2.0.rc2)
|
|
64
|
+
actionmailer (= 3.2.0.rc2)
|
|
65
|
+
actionpack (= 3.2.0.rc2)
|
|
66
|
+
activerecord (= 3.2.0.rc2)
|
|
67
|
+
activeresource (= 3.2.0.rc2)
|
|
68
|
+
activesupport (= 3.2.0.rc2)
|
|
69
|
+
bundler (~> 1.0)
|
|
70
|
+
railties (= 3.2.0.rc2)
|
|
71
|
+
railties (3.2.0.rc2)
|
|
72
|
+
actionpack (= 3.2.0.rc2)
|
|
73
|
+
activesupport (= 3.2.0.rc2)
|
|
74
|
+
rack-ssl (~> 1.3.2)
|
|
75
|
+
rake (>= 0.8.7)
|
|
76
|
+
rdoc (~> 3.4)
|
|
77
|
+
thor (~> 0.14.6)
|
|
78
|
+
rake (0.8.7)
|
|
79
|
+
rdoc (3.12)
|
|
80
|
+
json (~> 1.4)
|
|
81
|
+
rspec (2.8.0)
|
|
82
|
+
rspec-core (~> 2.8.0)
|
|
83
|
+
rspec-expectations (~> 2.8.0)
|
|
84
|
+
rspec-mocks (~> 2.8.0)
|
|
85
|
+
rspec-core (2.8.0)
|
|
86
|
+
rspec-expectations (2.8.0)
|
|
87
|
+
diff-lcs (~> 1.1.2)
|
|
88
|
+
rspec-mocks (2.8.0)
|
|
89
|
+
simplecov (0.5.4)
|
|
90
|
+
multi_json (~> 1.0.3)
|
|
91
|
+
simplecov-html (~> 0.5.3)
|
|
92
|
+
simplecov-gem-adapter (1.0.1)
|
|
93
|
+
simplecov
|
|
94
|
+
simplecov-html (0.5.3)
|
|
95
|
+
sprockets (2.1.2)
|
|
96
|
+
hike (~> 1.2)
|
|
97
|
+
rack (~> 1.0)
|
|
98
|
+
tilt (~> 1.1, != 1.3.0)
|
|
99
|
+
sqlite3 (1.3.5)
|
|
100
|
+
thor (0.14.6)
|
|
101
|
+
tilt (1.3.3)
|
|
102
|
+
treetop (1.4.10)
|
|
103
|
+
polyglot
|
|
104
|
+
polyglot (>= 0.3.1)
|
|
105
|
+
tzinfo (0.3.31)
|
|
106
|
+
valuable (0.9.2)
|
|
107
|
+
|
|
108
|
+
PLATFORMS
|
|
109
|
+
ruby
|
|
110
|
+
|
|
111
|
+
DEPENDENCIES
|
|
112
|
+
mysql
|
|
113
|
+
mysql2
|
|
114
|
+
pg
|
|
115
|
+
rails (~> 3.2.0.rc2)
|
|
116
|
+
rake (~> 0.8.7)
|
|
117
|
+
rspec
|
|
118
|
+
schema_plus!
|
|
119
|
+
simplecov
|
|
120
|
+
simplecov-gem-adapter
|
|
121
|
+
sqlite3
|
|
@@ -96,10 +96,16 @@ module SchemaPlus
|
|
|
96
96
|
end
|
|
97
97
|
|
|
98
98
|
def drop_table_with_schema_plus(name, options = {}) #:nodoc:
|
|
99
|
+
# (NOTE: rails 3.2 accepts only one arg, no options. pre rails
|
|
100
|
+
# 3.2, drop_table took an options={} arg that had no effect: but
|
|
101
|
+
# create_table(:force=>true) would call drop_table with two args.
|
|
102
|
+
# so for backwards compatibility, schema_plus drop_table accepts
|
|
103
|
+
# two args. but for forward compatibility with rails 3.2, the
|
|
104
|
+
# second arg is not passed along to rails.)
|
|
99
105
|
unless ::ActiveRecord::Base.connection.class.include?(SchemaPlus::ActiveRecord::ConnectionAdapters::Sqlite3Adapter)
|
|
100
106
|
reverse_foreign_keys(name).each { |foreign_key| remove_foreign_key(foreign_key.table_name, foreign_key.name) }
|
|
101
107
|
end
|
|
102
|
-
drop_table_without_schema_plus(name
|
|
108
|
+
drop_table_without_schema_plus(name)
|
|
103
109
|
end
|
|
104
110
|
|
|
105
111
|
# Returns true if the database supports parital indexes (abstract; only
|
|
@@ -45,6 +45,19 @@ module SchemaPlus
|
|
|
45
45
|
opts[:case_sensitive] = case_sensitive? unless @case_sensitive.nil?
|
|
46
46
|
opts
|
|
47
47
|
end
|
|
48
|
+
|
|
49
|
+
# tests if the corresponding indexes would be the same
|
|
50
|
+
def ==(other)
|
|
51
|
+
return false unless self.name == other.name
|
|
52
|
+
return false unless Array.wrap(self.columns).collect(&:to_s).sort == Array.wrap(other.columns).collect(&:to_s).sort
|
|
53
|
+
return false unless !!self.unique == !!other.unique
|
|
54
|
+
return false unless Array.wrap(self.lengths).compact.sort == Array.wrap(other.lengths).compact.sort
|
|
55
|
+
return false unless self.conditions == other.conditions
|
|
56
|
+
return false unless self.expression == other.expression
|
|
57
|
+
return false unless self.kind == other.kind
|
|
58
|
+
return false unless !!self.case_sensitive? == !!other.case_sensitive?
|
|
59
|
+
true
|
|
60
|
+
end
|
|
48
61
|
end
|
|
49
62
|
end
|
|
50
63
|
end
|
|
@@ -42,6 +42,8 @@ module SchemaPlus
|
|
|
42
42
|
sql += " WHERE (#{ ::ActiveRecord::Base.send(:sanitize_sql, conditions, quote_table_name(table_name)) })" if conditions
|
|
43
43
|
end
|
|
44
44
|
execute sql
|
|
45
|
+
rescue => e
|
|
46
|
+
SchemaStatements.add_index_exception_handler(self, table_name, column_names, options, e)
|
|
45
47
|
end
|
|
46
48
|
|
|
47
49
|
def supports_partial_indexes? #:nodoc:
|
|
@@ -4,6 +4,7 @@ module SchemaPlus::ActiveRecord::ConnectionAdapters
|
|
|
4
4
|
def self.included(base) #:nodoc:
|
|
5
5
|
base.class_eval do
|
|
6
6
|
alias_method_chain :create_table, :schema_plus
|
|
7
|
+
alias_method_chain :add_index, :schema_plus
|
|
7
8
|
end
|
|
8
9
|
end
|
|
9
10
|
|
|
@@ -31,8 +32,35 @@ module SchemaPlus::ActiveRecord::ConnectionAdapters
|
|
|
31
32
|
indexes.each do |index|
|
|
32
33
|
add_index(table, index.columns, index.opts)
|
|
33
34
|
end
|
|
35
|
+
end
|
|
34
36
|
|
|
37
|
+
##
|
|
38
|
+
# :method: add_index
|
|
39
|
+
#
|
|
40
|
+
# SchemaPlus modifies SchemaStatements::add_index so that it ignores
|
|
41
|
+
# errors raised about add an index that already exists -- i.e. that has
|
|
42
|
+
# the same index name, same columns, and same options -- and writes a
|
|
43
|
+
# warning to the log. Some combinations of rails & DB adapter versions
|
|
44
|
+
# would log such a warning, others would raise an error; with
|
|
45
|
+
# SchemaPlus all versions log the warning and do not raise the error.
|
|
46
|
+
#
|
|
47
|
+
# (This avoids collisions between SchemaPlus's auto index behavior and
|
|
48
|
+
# legacy explicit add_index statements, for platforms that would raise
|
|
49
|
+
# an error.)
|
|
50
|
+
#
|
|
51
|
+
def add_index_with_schema_plus(table, columns, options={})
|
|
52
|
+
add_index_without_schema_plus(table, columns, options)
|
|
53
|
+
rescue => e
|
|
54
|
+
SchemaStatements.add_index_exception_handler(self, table, columns, options, e)
|
|
55
|
+
end
|
|
35
56
|
|
|
57
|
+
def self.add_index_exception_handler(connection, table, columns, options, e) #:nodoc:
|
|
58
|
+
raise unless e.message.match(/["']([^"']+)["'].*already exists/)
|
|
59
|
+
name = $1
|
|
60
|
+
existing = connection.indexes(table).find{|i| i.name == name}
|
|
61
|
+
attempted = ::ActiveRecord::ConnectionAdapters::IndexDefinition.new(table, columns, options.merge(:name => name))
|
|
62
|
+
raise if attempted != existing
|
|
63
|
+
::ActiveRecord::Base.logger.warn "[schema_plus] Index name #{name.inspect}' on table #{table.inspect} already exists. Skipping."
|
|
36
64
|
end
|
|
37
65
|
|
|
38
66
|
end
|
data/lib/schema_plus/version.rb
CHANGED
data/runspecs
CHANGED
|
@@ -4,7 +4,7 @@ require 'optparse'
|
|
|
4
4
|
require 'ostruct'
|
|
5
5
|
|
|
6
6
|
RUBY_VERSIONS = %W[1.8.7 1.9.2]
|
|
7
|
-
RAILS_VERSIONS = %W[2.3 3.0 3.1]
|
|
7
|
+
RAILS_VERSIONS = %W[2.3 3.0 3.1 3.2]
|
|
8
8
|
DB_ADAPTERS = %W[postgresql mysql mysql2 sqlite3]
|
|
9
9
|
|
|
10
10
|
o = OpenStruct.new
|
|
@@ -53,28 +53,43 @@ OptionParser.new do |opts|
|
|
|
53
53
|
|
|
54
54
|
end.parse!
|
|
55
55
|
|
|
56
|
-
cmd = case
|
|
57
|
-
when o.update
|
|
58
|
-
"bundle update"
|
|
59
|
-
when o.install
|
|
60
|
-
"bundle install"
|
|
61
|
-
else
|
|
62
|
-
"bundle exec rake #{o.db_adapters.join(":spec ")}:spec"
|
|
63
|
-
end
|
|
64
56
|
|
|
65
|
-
|
|
57
|
+
Combo = Struct.new(:ruby, :rails, :db_adapter)
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
if o.update or o.install
|
|
61
|
+
o.db_adapters = [nil]
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
combos = o.ruby_versions.product(o.rails_versions, o.db_adapters).map{|product| Combo.new(*product)}.select {|combo|
|
|
65
|
+
case
|
|
66
|
+
when combo.rails >= "3.2" && combo.ruby <= "1.8.7" then false
|
|
67
|
+
else true
|
|
68
|
+
end
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
|
|
66
72
|
GEMFILES_DIR = File.expand_path('../gemfiles', __FILE__)
|
|
67
|
-
total = o.ruby_versions.size * o.rails_versions.size
|
|
68
73
|
errs = []
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
74
|
+
combos.each_with_index do |combo, n|
|
|
75
|
+
ruby = combo.ruby
|
|
76
|
+
rails = combo.rails
|
|
77
|
+
db_adapter = combo.db_adapter
|
|
78
|
+
|
|
79
|
+
cmd = case
|
|
80
|
+
when o.update
|
|
81
|
+
"bundle update"
|
|
82
|
+
when o.install
|
|
83
|
+
"bundle install"
|
|
84
|
+
else
|
|
85
|
+
"bundle exec rake #{db_adapter}:spec"
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
command = %Q{BUNDLE_GEMFILE="#{File.join(GEMFILES_DIR, "Gemfile.rails-#{rails}")}" rvm #{ruby} do #{cmd}}
|
|
89
|
+
|
|
90
|
+
puts "\n\n*** ruby version #{ruby} - rails version #{rails} - db adapter: #{db_adapter} [#{n+1} of #{combos.size}]\n\n#{command}"
|
|
91
|
+
|
|
92
|
+
next if o.dry_run
|
|
93
|
+
system(command) or errs << "ruby #{ruby}, rails #{rails}#{db_adapter && ", db_adapter #{db_adapter}"}"
|
|
79
94
|
end
|
|
80
|
-
puts errs.any? ? "\n*** #{errs.size} failures:\n\t#{errs.join("\n\t")}" : "\n*** #{
|
|
95
|
+
puts errs.any? ? "\n*** #{errs.size} failures:\n\t#{errs.join("\n\t")}" : "\n*** #{combos.size > 1 ? 'all versions' : 'spec'} succeeded ***" unless o.dry_run
|
data/spec/index_spec.rb
CHANGED
|
@@ -31,6 +31,24 @@ describe "add_index" do
|
|
|
31
31
|
index_for(:login).name.should == 'users_login_index'
|
|
32
32
|
end
|
|
33
33
|
|
|
34
|
+
context "for duplicate index" do
|
|
35
|
+
it "should not complain if the index is the same" do
|
|
36
|
+
add_index(:users, :login)
|
|
37
|
+
index_for(:login).should_not be_nil
|
|
38
|
+
ActiveRecord::Base.logger.should_receive(:warn).with(/login.*Skipping/)
|
|
39
|
+
expect { add_index(:users, :login) }.should_not raise_error
|
|
40
|
+
index_for(:login).should_not be_nil
|
|
41
|
+
end
|
|
42
|
+
if defined? Rails and Rails.version >= "3.0"
|
|
43
|
+
it "should complain if the index is different" do
|
|
44
|
+
add_index(:users, :login, :unique => true)
|
|
45
|
+
index_for(:login).should_not be_nil
|
|
46
|
+
expect { add_index(:users, :login) }.should raise_error
|
|
47
|
+
index_for(:login).should_not be_nil
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
34
52
|
if SchemaPlusHelpers.postgresql?
|
|
35
53
|
|
|
36
54
|
it "should assign conditions" do
|
metadata
CHANGED
|
@@ -1,144 +1,126 @@
|
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: schema_plus
|
|
3
|
-
version: !ruby/object:Gem::Version
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
- 0
|
|
7
|
-
- 2
|
|
8
|
-
- 0
|
|
9
|
-
version: 0.2.0
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.2.1
|
|
5
|
+
prerelease:
|
|
10
6
|
platform: ruby
|
|
11
|
-
authors:
|
|
7
|
+
authors:
|
|
12
8
|
- Ronen Barzel
|
|
13
9
|
- Michal Lomnicki
|
|
14
10
|
autorequire:
|
|
15
11
|
bindir: bin
|
|
16
12
|
cert_chain: []
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
dependencies:
|
|
21
|
-
- !ruby/object:Gem::Dependency
|
|
13
|
+
date: 2012-01-06 00:00:00.000000000 Z
|
|
14
|
+
dependencies:
|
|
15
|
+
- !ruby/object:Gem::Dependency
|
|
22
16
|
name: rails
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
requirements:
|
|
26
|
-
- -
|
|
27
|
-
- !ruby/object:Gem::Version
|
|
28
|
-
|
|
29
|
-
- 0
|
|
30
|
-
version: "0"
|
|
17
|
+
requirement: &70342781866240 !ruby/object:Gem::Requirement
|
|
18
|
+
none: false
|
|
19
|
+
requirements:
|
|
20
|
+
- - ! '>='
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: '0'
|
|
31
23
|
type: :runtime
|
|
32
|
-
version_requirements: *id001
|
|
33
|
-
- !ruby/object:Gem::Dependency
|
|
34
|
-
name: valuable
|
|
35
24
|
prerelease: false
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
25
|
+
version_requirements: *70342781866240
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: valuable
|
|
28
|
+
requirement: &70342781865820 !ruby/object:Gem::Requirement
|
|
29
|
+
none: false
|
|
30
|
+
requirements:
|
|
31
|
+
- - ! '>='
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '0'
|
|
43
34
|
type: :runtime
|
|
44
|
-
version_requirements: *id002
|
|
45
|
-
- !ruby/object:Gem::Dependency
|
|
46
|
-
name: rake
|
|
47
35
|
prerelease: false
|
|
48
|
-
|
|
49
|
-
|
|
36
|
+
version_requirements: *70342781865820
|
|
37
|
+
- !ruby/object:Gem::Dependency
|
|
38
|
+
name: rake
|
|
39
|
+
requirement: &70342781865300 !ruby/object:Gem::Requirement
|
|
40
|
+
none: false
|
|
41
|
+
requirements:
|
|
50
42
|
- - ~>
|
|
51
|
-
- !ruby/object:Gem::Version
|
|
52
|
-
segments:
|
|
53
|
-
- 0
|
|
54
|
-
- 8
|
|
55
|
-
- 7
|
|
43
|
+
- !ruby/object:Gem::Version
|
|
56
44
|
version: 0.8.7
|
|
57
45
|
type: :development
|
|
58
|
-
version_requirements: *id003
|
|
59
|
-
- !ruby/object:Gem::Dependency
|
|
60
|
-
name: rspec
|
|
61
46
|
prerelease: false
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
47
|
+
version_requirements: *70342781865300
|
|
48
|
+
- !ruby/object:Gem::Dependency
|
|
49
|
+
name: rspec
|
|
50
|
+
requirement: &70342781864880 !ruby/object:Gem::Requirement
|
|
51
|
+
none: false
|
|
52
|
+
requirements:
|
|
53
|
+
- - ! '>='
|
|
54
|
+
- !ruby/object:Gem::Version
|
|
55
|
+
version: '0'
|
|
69
56
|
type: :development
|
|
70
|
-
version_requirements: *id004
|
|
71
|
-
- !ruby/object:Gem::Dependency
|
|
72
|
-
name: pg
|
|
73
57
|
prerelease: false
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
58
|
+
version_requirements: *70342781864880
|
|
59
|
+
- !ruby/object:Gem::Dependency
|
|
60
|
+
name: pg
|
|
61
|
+
requirement: &70342781864320 !ruby/object:Gem::Requirement
|
|
62
|
+
none: false
|
|
63
|
+
requirements:
|
|
64
|
+
- - ! '>='
|
|
65
|
+
- !ruby/object:Gem::Version
|
|
66
|
+
version: '0'
|
|
81
67
|
type: :development
|
|
82
|
-
version_requirements: *id005
|
|
83
|
-
- !ruby/object:Gem::Dependency
|
|
84
|
-
name: mysql
|
|
85
68
|
prerelease: false
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
69
|
+
version_requirements: *70342781864320
|
|
70
|
+
- !ruby/object:Gem::Dependency
|
|
71
|
+
name: mysql
|
|
72
|
+
requirement: &70342781863720 !ruby/object:Gem::Requirement
|
|
73
|
+
none: false
|
|
74
|
+
requirements:
|
|
75
|
+
- - ! '>='
|
|
76
|
+
- !ruby/object:Gem::Version
|
|
77
|
+
version: '0'
|
|
93
78
|
type: :development
|
|
94
|
-
version_requirements: *id006
|
|
95
|
-
- !ruby/object:Gem::Dependency
|
|
96
|
-
name: sqlite3
|
|
97
79
|
prerelease: false
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
80
|
+
version_requirements: *70342781863720
|
|
81
|
+
- !ruby/object:Gem::Dependency
|
|
82
|
+
name: sqlite3
|
|
83
|
+
requirement: &70342781863120 !ruby/object:Gem::Requirement
|
|
84
|
+
none: false
|
|
85
|
+
requirements:
|
|
86
|
+
- - ! '>='
|
|
87
|
+
- !ruby/object:Gem::Version
|
|
88
|
+
version: '0'
|
|
105
89
|
type: :development
|
|
106
|
-
version_requirements: *id007
|
|
107
|
-
- !ruby/object:Gem::Dependency
|
|
108
|
-
name: simplecov
|
|
109
90
|
prerelease: false
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
91
|
+
version_requirements: *70342781863120
|
|
92
|
+
- !ruby/object:Gem::Dependency
|
|
93
|
+
name: simplecov
|
|
94
|
+
requirement: &70342781862620 !ruby/object:Gem::Requirement
|
|
95
|
+
none: false
|
|
96
|
+
requirements:
|
|
97
|
+
- - ! '>='
|
|
98
|
+
- !ruby/object:Gem::Version
|
|
99
|
+
version: '0'
|
|
117
100
|
type: :development
|
|
118
|
-
version_requirements: *id008
|
|
119
|
-
- !ruby/object:Gem::Dependency
|
|
120
|
-
name: simplecov-gem-adapter
|
|
121
101
|
prerelease: false
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
102
|
+
version_requirements: *70342781862620
|
|
103
|
+
- !ruby/object:Gem::Dependency
|
|
104
|
+
name: simplecov-gem-adapter
|
|
105
|
+
requirement: &70342781862160 !ruby/object:Gem::Requirement
|
|
106
|
+
none: false
|
|
107
|
+
requirements:
|
|
108
|
+
- - ! '>='
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: '0'
|
|
129
111
|
type: :development
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
112
|
+
prerelease: false
|
|
113
|
+
version_requirements: *70342781862160
|
|
114
|
+
description: ! 'SchemaPlus is an ActiveRecord extension that provides enhanced capabilities
|
|
115
|
+
for schema definition and querying, including: enhanced and more DRY index capabilities,
|
|
116
|
+
support and automation for foreign key constraints, and support for views.'
|
|
117
|
+
email:
|
|
133
118
|
- ronen@barzel.org
|
|
134
119
|
- michal.lomnicki@gmail.com
|
|
135
120
|
executables: []
|
|
136
|
-
|
|
137
121
|
extensions: []
|
|
138
|
-
|
|
139
122
|
extra_rdoc_files: []
|
|
140
|
-
|
|
141
|
-
files:
|
|
123
|
+
files:
|
|
142
124
|
- .gitignore
|
|
143
125
|
- .travis.yml
|
|
144
126
|
- Gemfile
|
|
@@ -151,6 +133,8 @@ files:
|
|
|
151
133
|
- gemfiles/Gemfile.rails-3.0.lock
|
|
152
134
|
- gemfiles/Gemfile.rails-3.1
|
|
153
135
|
- gemfiles/Gemfile.rails-3.1.lock
|
|
136
|
+
- gemfiles/Gemfile.rails-3.2
|
|
137
|
+
- gemfiles/Gemfile.rails-3.2.lock
|
|
154
138
|
- init.rb
|
|
155
139
|
- lib/rails/tasks/database.rake
|
|
156
140
|
- lib/schema_plus.rb
|
|
@@ -198,35 +182,55 @@ files:
|
|
|
198
182
|
- spec/support/matchers/reference.rb
|
|
199
183
|
- spec/support/reference.rb
|
|
200
184
|
- spec/views_spec.rb
|
|
201
|
-
has_rdoc: true
|
|
202
185
|
homepage: https://github.com/lomba/schema_plus
|
|
203
186
|
licenses: []
|
|
204
|
-
|
|
205
187
|
post_install_message:
|
|
206
188
|
rdoc_options: []
|
|
207
|
-
|
|
208
|
-
require_paths:
|
|
189
|
+
require_paths:
|
|
209
190
|
- lib
|
|
210
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
requirements:
|
|
219
|
-
- -
|
|
220
|
-
- !ruby/object:Gem::Version
|
|
221
|
-
|
|
222
|
-
- 0
|
|
223
|
-
version: "0"
|
|
191
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
192
|
+
none: false
|
|
193
|
+
requirements:
|
|
194
|
+
- - ! '>='
|
|
195
|
+
- !ruby/object:Gem::Version
|
|
196
|
+
version: '0'
|
|
197
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
198
|
+
none: false
|
|
199
|
+
requirements:
|
|
200
|
+
- - ! '>='
|
|
201
|
+
- !ruby/object:Gem::Version
|
|
202
|
+
version: '0'
|
|
224
203
|
requirements: []
|
|
225
|
-
|
|
226
204
|
rubyforge_project: schema_plus
|
|
227
|
-
rubygems_version: 1.
|
|
205
|
+
rubygems_version: 1.8.12
|
|
228
206
|
signing_key:
|
|
229
207
|
specification_version: 3
|
|
230
|
-
summary: Enhances ActiveRecord schema mechanism, including more DRY index creation
|
|
231
|
-
|
|
232
|
-
|
|
208
|
+
summary: Enhances ActiveRecord schema mechanism, including more DRY index creation
|
|
209
|
+
and support for foreign key constraints and views.
|
|
210
|
+
test_files:
|
|
211
|
+
- spec/column_spec.rb
|
|
212
|
+
- spec/connection_spec.rb
|
|
213
|
+
- spec/connections/mysql/connection.rb
|
|
214
|
+
- spec/connections/mysql2/connection.rb
|
|
215
|
+
- spec/connections/postgresql/connection.rb
|
|
216
|
+
- spec/connections/sqlite3/connection.rb
|
|
217
|
+
- spec/foreign_key_definition_spec.rb
|
|
218
|
+
- spec/foreign_key_spec.rb
|
|
219
|
+
- spec/index_definition_spec.rb
|
|
220
|
+
- spec/index_spec.rb
|
|
221
|
+
- spec/migration_spec.rb
|
|
222
|
+
- spec/models/comment.rb
|
|
223
|
+
- spec/models/post.rb
|
|
224
|
+
- spec/models/user.rb
|
|
225
|
+
- spec/rails3_migration_spec.rb
|
|
226
|
+
- spec/schema/auto_schema.rb
|
|
227
|
+
- spec/schema/core_schema.rb
|
|
228
|
+
- spec/schema_dumper_spec.rb
|
|
229
|
+
- spec/schema_spec.rb
|
|
230
|
+
- spec/spec_helper.rb
|
|
231
|
+
- spec/support/helpers.rb
|
|
232
|
+
- spec/support/matchers/automatic_foreign_key_matchers.rb
|
|
233
|
+
- spec/support/matchers/have_index.rb
|
|
234
|
+
- spec/support/matchers/reference.rb
|
|
235
|
+
- spec/support/reference.rb
|
|
236
|
+
- spec/views_spec.rb
|