pg_power 1.0.0 → 1.0.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.markdown +98 -88
- data/lib/core_ext/active_record/errors.rb +6 -0
- data/lib/pg_power/connection_adapters/postgresql_adapter.rb +7 -4
- data/lib/pg_power/connection_adapters/postgresql_adapter/translate_exception.rb +18 -0
- data/lib/pg_power/engine.rb +1 -0
- data/lib/pg_power/schema_dumper/schema_methods.rb +5 -1
- data/lib/pg_power/version.rb +1 -1
- metadata +139 -136
data/README.markdown
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
# PgPower
|
2
2
|
|
3
|
+
[](http://travis-ci.org/TMXCredit/pg_power)
|
4
|
+
[](https://gemnasium.com/TMXCredit/pg_power)
|
5
|
+
[](https://codeclimate.com/github/TMXCredit/pg_power)
|
6
|
+
|
3
7
|
ActiveRecord extension to get more from PostgreSQL:
|
4
8
|
|
5
9
|
* Create/drop schemas.
|
@@ -17,28 +21,28 @@ It was tested with Rails 3.1.x and 3.2.x, Ruby 1.8.7 REE and 1.9.3.
|
|
17
21
|
### Create schema
|
18
22
|
|
19
23
|
In migrations you can use `create_schema` and `drop_schema` methods like this:
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
24
|
+
```ruby
|
25
|
+
class ReplaceDemographySchemaWithPolitics < ActiveRecord::Migration
|
26
|
+
def change
|
27
|
+
drop_schema 'demography'
|
28
|
+
create_schema 'politics'
|
29
|
+
end
|
30
|
+
end
|
31
|
+
```
|
28
32
|
### Create table
|
29
33
|
|
30
34
|
Use schema `:schema` option to specify schema name:
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
35
|
+
```ruby
|
36
|
+
create_table "countries", :schema => "demography" do |t|
|
37
|
+
# columns goes here
|
38
|
+
end
|
39
|
+
```
|
36
40
|
### Move table to another schema
|
37
41
|
|
38
42
|
Move table `countries` from `demography` schema to `public`:
|
39
|
-
|
40
|
-
|
41
|
-
|
43
|
+
```ruby
|
44
|
+
move_table_to_schema 'demography.countries', :public
|
45
|
+
```
|
42
46
|
## Table and column comments
|
43
47
|
|
44
48
|
Provides the following methods to manage comments:
|
@@ -54,55 +58,55 @@ Provides the following methods to manage comments:
|
|
54
58
|
### Examples
|
55
59
|
|
56
60
|
Set a comment on the given table.
|
57
|
-
|
58
|
-
|
59
|
-
|
61
|
+
```ruby
|
62
|
+
set_table_comment :phone_numbers, 'This table stores phone numbers that conform to the North American Numbering Plan.'
|
63
|
+
```
|
60
64
|
Sets a comment on a given column of a given table.
|
61
|
-
|
62
|
-
|
63
|
-
|
65
|
+
```ruby
|
66
|
+
set_column_comment :phone_numbers, :npa, 'Numbering Plan Area Code - Allowed ranges: [2-9] for first digit, [0-9] for second and third digit.'
|
67
|
+
```
|
64
68
|
Removes any comment from the given table.
|
65
|
-
|
66
|
-
|
67
|
-
|
69
|
+
```ruby
|
70
|
+
remove_table_comment :phone_numbers
|
71
|
+
```
|
68
72
|
Removes any comment from the given column of a given table.
|
69
|
-
|
70
|
-
|
71
|
-
|
73
|
+
```ruby
|
74
|
+
remove_column_comment :phone_numbers, :npa
|
75
|
+
```
|
72
76
|
Set comments on multiple columns in the table.
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
+
```ruby
|
78
|
+
set_column_comments :phone_numbers, :npa => 'Numbering Plan Area Code - Allowed ranges: [2-9] for first digit, [0-9] for second and third digit.',
|
79
|
+
:nxx => 'Central Office Number'
|
80
|
+
```
|
77
81
|
Remove comments from multiple columns in the table.
|
78
|
-
|
79
|
-
|
80
|
-
|
82
|
+
```ruby
|
83
|
+
remove_column_comments :phone_numbers, :npa, :nxx
|
84
|
+
```
|
81
85
|
PgPower also adds extra methods to change_table.
|
82
86
|
|
83
87
|
Set comments:
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
88
|
+
```ruby
|
89
|
+
change_table :phone_numbers do |t|
|
90
|
+
t.set_table_comment 'This table stores phone numbers that conform to the North American Numbering Plan.'
|
91
|
+
t.set_column_comment :npa, 'Numbering Plan Area Code - Allowed ranges: [2-9] for first digit, [0-9] for second and third digit.'
|
92
|
+
end
|
93
|
+
|
94
|
+
change_table :phone_numbers do |t|
|
95
|
+
t.set_column_comments :npa => 'Numbering Plan Area Code - Allowed ranges: [2-9] for first digit, [0-9] for second and third digit.',
|
96
|
+
:nxx => 'Central Office Number'
|
97
|
+
end
|
98
|
+
```
|
95
99
|
Remove comments:
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
100
|
+
```ruby
|
101
|
+
change_table :phone_numbers do |t|
|
102
|
+
t.remove_table_comment
|
103
|
+
t.remove_column_comment :npa
|
104
|
+
end
|
105
|
+
|
106
|
+
change_table :phone_numbers do |t|
|
107
|
+
t.remove_column_comments :npa, :nxx
|
108
|
+
end
|
109
|
+
```
|
106
110
|
## Foreign keys
|
107
111
|
|
108
112
|
We imported some code of [foreigner](https://github.com/matthuhiggins/foreigner)
|
@@ -116,23 +120,29 @@ The syntax is compatible with `foreigner`:
|
|
116
120
|
|
117
121
|
|
118
122
|
Add foreign key from `comments` to `posts` using `post_id` column as key by default:
|
119
|
-
|
120
|
-
|
123
|
+
```ruby
|
124
|
+
add_foreign_key(:comments, :posts)
|
125
|
+
```
|
121
126
|
Specify key explicitly:
|
122
|
-
|
123
|
-
|
127
|
+
```ruby
|
128
|
+
add_foreign_key(:comments, :posts, :column => :blog_post_id)
|
129
|
+
```
|
124
130
|
Specify name of foreign key constraint:
|
125
|
-
|
126
|
-
|
131
|
+
```ruby
|
132
|
+
add_foreign_key(:comments, :posts, :name => "comments_posts_fk")
|
133
|
+
```
|
127
134
|
It works with schemas as expected:
|
128
|
-
|
129
|
-
|
135
|
+
```ruby
|
136
|
+
add_foreign_key('blog.comments', 'blog.posts')
|
137
|
+
```
|
130
138
|
Adds the index 'index_comments_on_post_id':
|
131
|
-
|
132
|
-
|
139
|
+
```ruby
|
140
|
+
add_foreign_key(:comments, :posts)
|
141
|
+
```
|
133
142
|
Does not add an index:
|
143
|
+
```ruby
|
134
144
|
add_foreign_key(:comments, :posts, :exclude_index => true)
|
135
|
-
|
145
|
+
```
|
136
146
|
## Partial Indexes
|
137
147
|
|
138
148
|
We used a Rails 4.x [pull request](https://github.com/rails/rails/pull/4956) as a
|
@@ -141,13 +151,13 @@ starting point, backported to Rails 3.1.x and patched it to be schema-aware.
|
|
141
151
|
### Examples
|
142
152
|
|
143
153
|
Add a partial index to a table
|
144
|
-
|
145
|
-
|
146
|
-
|
154
|
+
```ruby
|
155
|
+
add_index(:comments, [:country_id, :user_id], :where => 'active')
|
156
|
+
```
|
147
157
|
Add a partial index to a schema table
|
148
|
-
|
149
|
-
|
150
|
-
|
158
|
+
```ruby
|
159
|
+
add_index('blog.comments', :user_id, :where => 'active')
|
160
|
+
```
|
151
161
|
## Indexes on Expressions
|
152
162
|
|
153
163
|
PostgreSQL supports indexes on expressions. Right now, only basic functional
|
@@ -156,19 +166,19 @@ expressions are supported.
|
|
156
166
|
### Examples
|
157
167
|
|
158
168
|
Add an index to a column with a function
|
159
|
-
|
160
|
-
|
161
|
-
|
169
|
+
```ruby
|
170
|
+
add_index(:comments, "lower(text)")
|
171
|
+
```
|
162
172
|
## Tools
|
163
173
|
|
164
174
|
PgPower::Tools provides number of useful methods:
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
175
|
+
```ruby
|
176
|
+
PgPower::Tools.create_schema "services" # => create new PG schema "services"
|
177
|
+
PgPower::Tools.create_schema "nets" # => create new PG schema "nets"
|
178
|
+
PgPower::Tools.drop_schema "services" # => remove the PG schema "services"
|
179
|
+
PgPower::Tools.schemas # => ["public", "information_schema", "nets"]
|
180
|
+
PgPower::Tools.index_exists?(table, columns, options) # => returns true if an index exists for the given params
|
181
|
+
```
|
172
182
|
## Running tests:
|
173
183
|
|
174
184
|
* Configure `spec/dummy/config/database.yml` for development and test environments.
|
@@ -178,11 +188,11 @@ PgPower::Tools provides number of useful methods:
|
|
178
188
|
## TODO:
|
179
189
|
|
180
190
|
Add next syntax to create table:
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
191
|
+
```ruby
|
192
|
+
create_table "table_name", :schema => "schema_name" do |t|
|
193
|
+
# columns goes here
|
194
|
+
end
|
195
|
+
```
|
186
196
|
Support for JRuby:
|
187
197
|
|
188
198
|
* Jdbc driver provides its own `create_schema(schema, user)` method - solve conflicts.
|
@@ -4,13 +4,16 @@ module PgPower::ConnectionAdapters::PostgreSQLAdapter
|
|
4
4
|
extend ActiveSupport::Autoload
|
5
5
|
extend ActiveSupport::Concern
|
6
6
|
|
7
|
-
|
8
|
-
autoload :
|
9
|
-
autoload :
|
10
|
-
autoload :
|
7
|
+
# TODO: Looks like explicit path specification can be omitted -- aignatyev 20120904
|
8
|
+
autoload :SchemaMethods, 'pg_power/connection_adapters/postgresql_adapter/schema_methods'
|
9
|
+
autoload :CommentMethods, 'pg_power/connection_adapters/postgresql_adapter/comment_methods'
|
10
|
+
autoload :ForeignerMethods, 'pg_power/connection_adapters/postgresql_adapter/foreigner_methods'
|
11
|
+
autoload :IndexMethods, 'pg_power/connection_adapters/postgresql_adapter/index_methods'
|
12
|
+
autoload :TranslateException, 'pg_power/connection_adapters/postgresql_adapter/translate_exception'
|
11
13
|
|
12
14
|
include SchemaMethods
|
13
15
|
include CommentMethods
|
14
16
|
include ForeignerMethods
|
15
17
|
include IndexMethods
|
18
|
+
include TranslateException
|
16
19
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# Extend ActiveRecord::ConnectionAdapter::PostgreSQLAdapter logic
|
2
|
+
# to wrap more pg-specific errors into specific exception classes
|
3
|
+
module PgPower::ConnectionAdapters::PostgreSQLAdapter::TranslateException
|
4
|
+
# # See http://www.postgresql.org/docs/9.1/static/errcodes-appendix.html
|
5
|
+
INSUFFICIENT_PRIVILEGE = "42501"
|
6
|
+
|
7
|
+
# Intercept insufficient privilege PGError and raise active_record wrapped database exception
|
8
|
+
def translate_exception(exception, message)
|
9
|
+
case exception.result.try(:error_field, PGresult::PG_DIAG_SQLSTATE)
|
10
|
+
when INSUFFICIENT_PRIVILEGE
|
11
|
+
exc_message = exception.result.try(:error_field, PGresult::PG_DIAG_MESSAGE_PRIMARY)
|
12
|
+
exc_message ||= message
|
13
|
+
::ActiveRecord::InsufficientPrivilege.new(exc_message, exception)
|
14
|
+
else
|
15
|
+
super
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/lib/pg_power/engine.rb
CHANGED
@@ -6,6 +6,7 @@ module PgPower
|
|
6
6
|
ActiveSupport.on_load(:active_record) do
|
7
7
|
# load monkey patches
|
8
8
|
['schema_dumper',
|
9
|
+
'errors',
|
9
10
|
'connection_adapters/postgresql_adapter',
|
10
11
|
'connection_adapters/abstract/schema_statements'].each do |path|
|
11
12
|
require PgPower::Engine.root + 'lib/core_ext/active_record/' + path
|
@@ -30,7 +30,11 @@ module PgPower::SchemaDumper::SchemaMethods
|
|
30
30
|
# Dumps tables from schemas other than public
|
31
31
|
def non_public_schema_tables(stream)
|
32
32
|
get_non_public_schema_table_names.each do |name|
|
33
|
-
|
33
|
+
begin
|
34
|
+
table(name, stream)
|
35
|
+
rescue ::ActiveRecord::InsufficientPrivilege => exc
|
36
|
+
with_warnings(false) { warn("#{exc.class.name}: #{exc.message}. Skipping #{name.inspect}...") }
|
37
|
+
end
|
34
38
|
end
|
35
39
|
end
|
36
40
|
private :non_public_schema_tables
|
data/lib/pg_power/version.rb
CHANGED
metadata
CHANGED
@@ -1,150 +1,159 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: pg_power
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.1
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 0
|
9
|
-
- 0
|
10
|
-
version: 1.0.0
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Potapov Sergey
|
14
9
|
- Arthur Shagall
|
10
|
+
- TMX Credit
|
15
11
|
autorequire:
|
16
12
|
bindir: bin
|
17
13
|
cert_chain: []
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
- !ruby/object:Gem::Dependency
|
22
|
-
type: :runtime
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
-
none: false
|
25
|
-
requirements:
|
26
|
-
- - ">="
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
hash: 3
|
29
|
-
segments:
|
30
|
-
- 0
|
31
|
-
version: "0"
|
32
|
-
version_requirements: *id001
|
14
|
+
date: 2012-09-12 00:00:00.000000000 Z
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
33
17
|
name: pg
|
34
|
-
|
35
|
-
|
18
|
+
requirement: !ruby/object:Gem::Requirement
|
19
|
+
none: false
|
20
|
+
requirements:
|
21
|
+
- - ! '>='
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: '0'
|
36
24
|
type: :runtime
|
37
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
38
|
-
none: false
|
39
|
-
requirements:
|
40
|
-
- - ">="
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
hash: 3
|
43
|
-
segments:
|
44
|
-
- 0
|
45
|
-
version: "0"
|
46
|
-
version_requirements: *id002
|
47
|
-
name: rspec-rails
|
48
25
|
prerelease: false
|
49
|
-
|
26
|
+
version_requirements: !ruby/object:Gem::Requirement
|
27
|
+
none: false
|
28
|
+
requirements:
|
29
|
+
- - ! '>='
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: '0'
|
32
|
+
- !ruby/object:Gem::Dependency
|
33
|
+
name: rspec-rails
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
35
|
+
none: false
|
36
|
+
requirements:
|
37
|
+
- - ! '>='
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0'
|
50
40
|
type: :runtime
|
51
|
-
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
43
|
none: false
|
53
|
-
requirements:
|
54
|
-
- -
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
|
57
|
-
|
58
|
-
- 3
|
59
|
-
- 1
|
60
|
-
version: "3.1"
|
61
|
-
version_requirements: *id003
|
44
|
+
requirements:
|
45
|
+
- - ! '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
- !ruby/object:Gem::Dependency
|
62
49
|
name: rails
|
50
|
+
requirement: !ruby/object:Gem::Requirement
|
51
|
+
none: false
|
52
|
+
requirements:
|
53
|
+
- - ~>
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '3.1'
|
56
|
+
type: :runtime
|
63
57
|
prerelease: false
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
hash: 3
|
72
|
-
segments:
|
73
|
-
- 0
|
74
|
-
version: "0"
|
75
|
-
version_requirements: *id004
|
58
|
+
version_requirements: !ruby/object:Gem::Requirement
|
59
|
+
none: false
|
60
|
+
requirements:
|
61
|
+
- - ~>
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '3.1'
|
64
|
+
- !ruby/object:Gem::Dependency
|
76
65
|
name: rcov
|
77
|
-
|
78
|
-
|
66
|
+
requirement: !ruby/object:Gem::Requirement
|
67
|
+
none: false
|
68
|
+
requirements:
|
69
|
+
- - ! '>='
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '0'
|
79
72
|
type: :development
|
80
|
-
requirement: &id005 !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
|
-
requirements:
|
83
|
-
- - ">="
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
hash: 3
|
86
|
-
segments:
|
87
|
-
- 0
|
88
|
-
version: "0"
|
89
|
-
version_requirements: *id005
|
90
|
-
name: yard
|
91
73
|
prerelease: false
|
92
|
-
|
74
|
+
version_requirements: !ruby/object:Gem::Requirement
|
75
|
+
none: false
|
76
|
+
requirements:
|
77
|
+
- - ! '>='
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '0'
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: yard
|
82
|
+
requirement: !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
93
88
|
type: :development
|
94
|
-
requirement: &id006 !ruby/object:Gem::Requirement
|
95
|
-
none: false
|
96
|
-
requirements:
|
97
|
-
- - ">="
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
-
hash: 3
|
100
|
-
segments:
|
101
|
-
- 0
|
102
|
-
version: "0"
|
103
|
-
version_requirements: *id006
|
104
|
-
name: metrical
|
105
89
|
prerelease: false
|
106
|
-
|
90
|
+
version_requirements: !ruby/object:Gem::Requirement
|
91
|
+
none: false
|
92
|
+
requirements:
|
93
|
+
- - ! '>='
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
- !ruby/object:Gem::Dependency
|
97
|
+
name: metrical
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
99
|
+
none: false
|
100
|
+
requirements:
|
101
|
+
- - ! '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
107
104
|
type: :development
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
version: "0"
|
117
|
-
version_requirements: *id007
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
none: false
|
108
|
+
requirements:
|
109
|
+
- - ! '>='
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0'
|
112
|
+
- !ruby/object:Gem::Dependency
|
118
113
|
name: jeweler
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
none: false
|
116
|
+
requirements:
|
117
|
+
- - ! '>='
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '0'
|
120
|
+
type: :development
|
119
121
|
prerelease: false
|
120
|
-
|
122
|
+
version_requirements: !ruby/object:Gem::Requirement
|
123
|
+
none: false
|
124
|
+
requirements:
|
125
|
+
- - ! '>='
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: '0'
|
128
|
+
- !ruby/object:Gem::Dependency
|
129
|
+
name: ruby-debug19
|
130
|
+
requirement: !ruby/object:Gem::Requirement
|
131
|
+
none: false
|
132
|
+
requirements:
|
133
|
+
- - ! '>='
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: '0'
|
121
136
|
type: :development
|
122
|
-
requirement: &id008 !ruby/object:Gem::Requirement
|
123
|
-
none: false
|
124
|
-
requirements:
|
125
|
-
- - ">="
|
126
|
-
- !ruby/object:Gem::Version
|
127
|
-
hash: 3
|
128
|
-
segments:
|
129
|
-
- 0
|
130
|
-
version: "0"
|
131
|
-
version_requirements: *id008
|
132
|
-
name: ruby-debug
|
133
137
|
prerelease: false
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
-
|
138
|
+
version_requirements: !ruby/object:Gem::Requirement
|
139
|
+
none: false
|
140
|
+
requirements:
|
141
|
+
- - ! '>='
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: '0'
|
144
|
+
description: ActiveRecord extensions for PostgreSQL. Provides useful tools and ability
|
145
|
+
to create/drop schemas in migrations.
|
146
|
+
email:
|
147
|
+
- rubygems@tmxcredit.com
|
138
148
|
executables: []
|
139
|
-
|
140
149
|
extensions: []
|
141
|
-
|
142
|
-
extra_rdoc_files:
|
150
|
+
extra_rdoc_files:
|
143
151
|
- README.markdown
|
144
|
-
files:
|
152
|
+
files:
|
145
153
|
- README.markdown
|
146
154
|
- lib/core_ext/active_record/connection_adapters/abstract/schema_statements.rb
|
147
155
|
- lib/core_ext/active_record/connection_adapters/postgresql_adapter.rb
|
156
|
+
- lib/core_ext/active_record/errors.rb
|
148
157
|
- lib/core_ext/active_record/schema_dumper.rb
|
149
158
|
- lib/pg_power.rb
|
150
159
|
- lib/pg_power/connection_adapters.rb
|
@@ -160,6 +169,7 @@ files:
|
|
160
169
|
- lib/pg_power/connection_adapters/postgresql_adapter/foreigner_methods.rb
|
161
170
|
- lib/pg_power/connection_adapters/postgresql_adapter/index_methods.rb
|
162
171
|
- lib/pg_power/connection_adapters/postgresql_adapter/schema_methods.rb
|
172
|
+
- lib/pg_power/connection_adapters/postgresql_adapter/translate_exception.rb
|
163
173
|
- lib/pg_power/connection_adapters/table.rb
|
164
174
|
- lib/pg_power/connection_adapters/table/comment_methods.rb
|
165
175
|
- lib/pg_power/connection_adapters/table/foreigner_methods.rb
|
@@ -178,36 +188,29 @@ files:
|
|
178
188
|
- lib/tasks/pg_power_tasks.rake
|
179
189
|
homepage: https://github.com/TMXCredit/pg_power
|
180
190
|
licenses: []
|
181
|
-
|
182
191
|
post_install_message:
|
183
192
|
rdoc_options: []
|
184
|
-
|
185
|
-
require_paths:
|
193
|
+
require_paths:
|
186
194
|
- lib
|
187
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
195
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
188
196
|
none: false
|
189
|
-
requirements:
|
190
|
-
- -
|
191
|
-
- !ruby/object:Gem::Version
|
192
|
-
|
193
|
-
segments:
|
197
|
+
requirements:
|
198
|
+
- - ! '>='
|
199
|
+
- !ruby/object:Gem::Version
|
200
|
+
version: '0'
|
201
|
+
segments:
|
194
202
|
- 0
|
195
|
-
|
196
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
203
|
+
hash: 3609710966930791506
|
204
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
197
205
|
none: false
|
198
|
-
requirements:
|
199
|
-
- -
|
200
|
-
- !ruby/object:Gem::Version
|
201
|
-
|
202
|
-
segments:
|
203
|
-
- 0
|
204
|
-
version: "0"
|
206
|
+
requirements:
|
207
|
+
- - ! '>='
|
208
|
+
- !ruby/object:Gem::Version
|
209
|
+
version: '0'
|
205
210
|
requirements: []
|
206
|
-
|
207
211
|
rubyforge_project:
|
208
212
|
rubygems_version: 1.8.24
|
209
213
|
signing_key:
|
210
214
|
specification_version: 3
|
211
215
|
summary: ActiveRecord extensions for PostgreSQL.
|
212
216
|
test_files: []
|
213
|
-
|