Class: PerconaMigrations::Runners::Percona
- Inherits:
-
Base
- Object
- Base
- PerconaMigrations::Runners::Percona
show all
- Defined in:
- lib/percona_migrations/runners/percona.rb
Constant Summary
collapse
- COMMAND =
'pt-online-schema-change'
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
#initialize, #log, #logger
Class Method Details
.available? ⇒ Boolean
6
7
8
|
# File 'lib/percona_migrations/runners/percona.rb', line 6
def self.available?
!percona_command.empty?
end
|
.percona_command ⇒ Object
10
11
12
|
# File 'lib/percona_migrations/runners/percona.rb', line 10
def self.percona_command
@percona_command ||= %x(which #{COMMAND}).chop
end
|
Instance Method Details
#run ⇒ Object
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/percona_migrations/runners/percona.rb', line 14
def run
options = [
"--alter '#{@commands.join(', ')}'",
"-h #{database_config['host']}",
"-P #{database_config['port']}",
"-u #{database_config['username']}",
"D=#{database_config['database']},t=#{@table_name}"
]
password = database_config['password']
if password && !password.empty?
options << "-p $PASSWORD"
end
run_command(options.join(' '), { 'PASSWORD' => password })
end
|