index_shotgun 0.1.0 → 0.2.0

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
  SHA1:
3
- metadata.gz: dfe6dfc045c77c91c8be0ccbe3ed00c8e08bcdf1
4
- data.tar.gz: 654edf6cec790e269a176382b33d52000dcff049
3
+ metadata.gz: 15bee0b6900c45e35a398f520eb0c83939c17bfe
4
+ data.tar.gz: b85e938abf213f4c914a256aac404bfbc37ba3e8
5
5
  SHA512:
6
- metadata.gz: 3845b88c538a92785934ec8943ffc536bf674afdb003ae7e3994c1bdc3e9a32edc944a02c18acb3a42498c2655f49c33cd7bc1b0aaee356c4e9a9d6e4f3509d1
7
- data.tar.gz: 8d35c3e9b0f9184980cab2bbb52f44acebafe6fabee04cdff9297290474fb4abbf02568f7b9170bfc461945a3da34018bc385b879a3eb00904e8aca377d1afa1
6
+ metadata.gz: 4ee1c4417f1800d03c6dac57605bb9d5e4e3b6cd685a6e51ee1eff8e0e403dd57bed092ab31f4dccf77c137f33aedb882c7dd76ea52d923e08fbaf42c409e641
7
+ data.tar.gz: b1839ef7c6311960a3e6dbf1d2fd6e547a7ce86ce90449ac57e936a0cb6a383e155153961d95b85256da845c59e76d9a18b31c2ce482cde37e72abc30ec0f61b
@@ -11,6 +11,7 @@ before_script:
11
11
  - export CI=true
12
12
  - export CODECLIMATE_REPO_TOKEN=377596024a4c6f3c4c4b9a0cd16add92fb5e7f716663629b5efd080377c0b838
13
13
  before_install: gem install bundler -v 1.10.6
14
+ bundler_args: --without oracle
14
15
  script: "./travis_ci/build.sh"
15
16
  branches:
16
17
  only:
@@ -1,5 +1,27 @@
1
1
  # Change Log
2
2
 
3
+ ## [v0.1.0](https://github.com/sue445/index_shotgun/tree/v0.1.0) (2015/09/30)
4
+ [Full Changelog](https://github.com/sue445/index_shotgun/compare/v0.1.0.beta3...v0.1.0)
5
+
6
+ **Closed issues:**
7
+
8
+ - Write doc [\#9](https://github.com/sue445/index_shotgun/issues/9)
9
+ - 1st release features [\#4](https://github.com/sue445/index_shotgun/issues/4)
10
+
11
+ **Merged pull requests:**
12
+
13
+ - Add ask\_password [\#14](https://github.com/sue445/index_shotgun/pull/14) ([sue445](https://github.com/sue445))
14
+ - Add option alias [\#13](https://github.com/sue445/index_shotgun/pull/13) ([sue445](https://github.com/sue445))
15
+ - Tweak result message of unique index [\#12](https://github.com/sue445/index_shotgun/pull/12) ([sue445](https://github.com/sue445))
16
+ - Write doc [\#10](https://github.com/sue445/index_shotgun/pull/10) ([sue445](https://github.com/sue445))
17
+
18
+ ## [v0.1.0.beta3](https://github.com/sue445/index_shotgun/tree/v0.1.0.beta3) (2015/09/17)
19
+ [Full Changelog](https://github.com/sue445/index_shotgun/compare/v0.1.0.beta2...v0.1.0.beta3)
20
+
21
+ **Merged pull requests:**
22
+
23
+ - Add summary [\#11](https://github.com/sue445/index_shotgun/pull/11) ([sue445](https://github.com/sue445))
24
+
3
25
  ## [v0.1.0.beta2](https://github.com/sue445/index_shotgun/tree/v0.1.0.beta2) (2015/09/16)
4
26
  [Full Changelog](https://github.com/sue445/index_shotgun/compare/v0.1.0.beta1...v0.1.0.beta2)
5
27
 
data/Gemfile CHANGED
@@ -2,3 +2,20 @@ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in index_shotgun.gemspec
4
4
  gemspec
5
+
6
+ group :mysql do
7
+ gem "mysql2", "< 0.4.0"
8
+ end
9
+
10
+ group :oracle do
11
+ gem "activerecord-oracle_enhanced-adapter"
12
+ gem "ruby-oci8"
13
+ end
14
+
15
+ group :postgresql do
16
+ gem "pg"
17
+ end
18
+
19
+ group :sqlite3 do
20
+ gem "sqlite3"
21
+ end
data/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  [![Coverage Status](https://coveralls.io/repos/sue445/index_shotgun/badge.svg?branch=master&service=github)](https://coveralls.io/github/sue445/index_shotgun?branch=master)
6
6
  [![Dependency Status](https://gemnasium.com/sue445/index_shotgun.svg)](https://gemnasium.com/sue445/index_shotgun)
7
7
 
8
- Duplicate index checker.
8
+ Duplicate index checker.
9
9
 
10
10
  This like [pt-duplicate-key-checker](https://www.percona.com/doc/percona-toolkit/2.1/pt-duplicate-key-checker.html), but also supports database other than MySQL
11
11
 
@@ -62,7 +62,17 @@ end
62
62
  And then execute:
63
63
 
64
64
  ```sh
65
- $ bundle
65
+ # MySQL
66
+ $ bundle install --without oracle postgresql sqlite3
67
+
68
+ # Oracle
69
+ $ bundle install --without mysql postgresql sqlite3
70
+
71
+ # PostgreSQL
72
+ $ bundle install --without mysql oracle sqlite3
73
+
74
+ # sqlite3
75
+ $ bundle install --without mysql oracle postgresql
66
76
  ```
67
77
 
68
78
  Or install it yourself as:
@@ -77,6 +87,9 @@ If you want to use as commandline tool, you need to install these gems.
77
87
  # MySQL
78
88
  $ gem install mysql2 -v 0.3.20
79
89
 
90
+ # Oracle
91
+ $ gem install activerecord-oracle_enhanced-adapter ruby-oci8
92
+
80
93
  # PostgreSQL
81
94
  $ gem install pg
82
95
 
@@ -109,6 +122,7 @@ $ index_shotgun
109
122
  Commands:
110
123
  index_shotgun help [COMMAND] # Describe available commands or one specific command
111
124
  index_shotgun mysql --database=DATABASE # Search duplicate indexes on MySQL
125
+ index_shotgun oracle --database=DATABASE # Search duplicate indexes on Oracle
112
126
  index_shotgun postgresql --database=DATABASE # Search duplicate indexes on PostgreSQL
113
127
  index_shotgun sqlite3 --database=DATABASE # Search duplicate indexes on sqlite3
114
128
  index_shotgun version # Show index_shotgun version
@@ -116,6 +130,87 @@ Commands:
116
130
 
117
131
  **Details:** check `index_shotgun help <database>`
118
132
 
133
+ #### MySQL
134
+ ```sh
135
+ $ index_shotgun help mysql
136
+ Usage:
137
+ index_shotgun mysql d, --database=DATABASE
138
+
139
+ Options:
140
+ d, --database=DATABASE
141
+ [--encoding=ENCODING]
142
+ # Default: utf8
143
+ [--pool=N]
144
+ # Default: 5
145
+ h, [--host=HOST]
146
+ # Default: localhost
147
+ P, [--port=N]
148
+ # Default: 3306
149
+ u, [--username=USERNAME]
150
+ p, [--password=PASSWORD]
151
+ [--ask-password], [--no-ask-password]
152
+
153
+ Search duplicate indexes on MySQL
154
+ ```
155
+
156
+ #### Oracle
157
+ ```sh
158
+ $ index_shotgun help oracle
159
+ Usage:
160
+ index_shotgun oracle d, --database=DATABASE
161
+
162
+ Options:
163
+ d, --database=DATABASE
164
+ [--encoding=ENCODING]
165
+ # Default: utf8
166
+ [--pool=N]
167
+ # Default: 5
168
+ h, [--host=HOST]
169
+ # Default: localhost
170
+ P, [--port=N]
171
+ # Default: 1521
172
+ u, [--username=USERNAME]
173
+ p, [--password=PASSWORD]
174
+ [--ask-password], [--no-ask-password]
175
+
176
+ Search duplicate indexes on Oracle
177
+ ```
178
+
179
+ #### PostgreSQL
180
+ ```sh
181
+ $ index_shotgun help postgresql
182
+ Usage:
183
+ index_shotgun postgresql d, --database=DATABASE
184
+
185
+ Options:
186
+ d, --database=DATABASE
187
+ [--encoding=ENCODING]
188
+ # Default: utf8
189
+ [--pool=N]
190
+ # Default: 5
191
+ h, [--host=HOST]
192
+ # Default: localhost
193
+ P, [--port=N]
194
+ # Default: 5432
195
+ u, [--username=USERNAME]
196
+ p, [--password=PASSWORD]
197
+ [--ask-password], [--no-ask-password]
198
+
199
+ Search duplicate indexes on PostgreSQL
200
+ ```
201
+
202
+ #### SQLite3
203
+ ```sh
204
+ $ index_shotgun help sqlite3
205
+ Usage:
206
+ index_shotgun sqlite3 d, --database=DATABASE
207
+
208
+ Options:
209
+ d, --database=DATABASE
210
+
211
+ Search duplicate indexes on sqlite3
212
+ ```
213
+
119
214
  ## Development
120
215
 
121
216
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. Run `bundle exec index_shotgun` to use the gem in this directory, ignoring other installed copies of this gem.
@@ -35,8 +35,6 @@ Gem::Specification.new do |spec|
35
35
  spec.add_development_dependency "bundler", "~> 1.10"
36
36
  spec.add_development_dependency "codeclimate-test-reporter"
37
37
  spec.add_development_dependency "coveralls"
38
- spec.add_development_dependency "mysql2", "< 0.4.0"
39
- spec.add_development_dependency "pg"
40
38
  spec.add_development_dependency "pry-byebug"
41
39
  spec.add_development_dependency "rake", "~> 10.0"
42
40
  spec.add_development_dependency "rake_shared_context"
@@ -44,5 +42,4 @@ Gem::Specification.new do |spec|
44
42
  spec.add_development_dependency "rspec-its"
45
43
  spec.add_development_dependency "rspec-power_assert"
46
44
  spec.add_development_dependency "rubocop", "0.31.0"
47
- spec.add_development_dependency "sqlite3"
48
45
  end
@@ -17,6 +17,19 @@ module IndexShotgun
17
17
  analyze("mysql2")
18
18
  end
19
19
 
20
+ desc "oracle", "Search duplicate indexes on Oracle"
21
+ option :database, aliases: "d", required: true
22
+ option :encoding, default: "utf8"
23
+ option :pool, default: 5, type: :numeric
24
+ option :host, aliases: "h", default: "localhost"
25
+ option :port, aliases: "P", default: 1521, type: :numeric
26
+ option :username, aliases: "u"
27
+ option :password, aliases: "p"
28
+ option :ask_password, default: false, type: :boolean
29
+ def oracle
30
+ analyze("oracle_enhanced", "activerecord-oracle_enhanced-adapter")
31
+ end
32
+
20
33
  desc "postgresql", "Search duplicate indexes on PostgreSQL"
21
34
  option :database, aliases: "d", required: true
22
35
  option :encoding, default: "utf8"
@@ -1,3 +1,3 @@
1
1
  module IndexShotgun
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: index_shotgun
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - sue445
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-09-30 00:00:00.000000000 Z
11
+ date: 2015-11-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -80,34 +80,6 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: mysql2
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "<"
88
- - !ruby/object:Gem::Version
89
- version: 0.4.0
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "<"
95
- - !ruby/object:Gem::Version
96
- version: 0.4.0
97
- - !ruby/object:Gem::Dependency
98
- name: pg
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
83
  - !ruby/object:Gem::Dependency
112
84
  name: pry-byebug
113
85
  requirement: !ruby/object:Gem::Requirement
@@ -206,20 +178,6 @@ dependencies:
206
178
  - - '='
207
179
  - !ruby/object:Gem::Version
208
180
  version: 0.31.0
209
- - !ruby/object:Gem::Dependency
210
- name: sqlite3
211
- requirement: !ruby/object:Gem::Requirement
212
- requirements:
213
- - - ">="
214
- - !ruby/object:Gem::Version
215
- version: '0'
216
- type: :development
217
- prerelease: false
218
- version_requirements: !ruby/object:Gem::Requirement
219
- requirements:
220
- - - ">="
221
- - !ruby/object:Gem::Version
222
- version: '0'
223
181
  description: duplicate index checker
224
182
  email:
225
183
  - sue445@sue445.net