Class: PgEasyReplicate::CLI

Inherits:
Thor
  • Object
show all
Defined in:
lib/pg_easy_replicate/cli.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.exit_on_failure?Boolean

Returns:

  • (Boolean)


136
137
138
# File 'lib/pg_easy_replicate/cli.rb', line 136

def self.exit_on_failure?
  true
end

Instance Method Details

#bootstrapObject



42
43
44
# File 'lib/pg_easy_replicate/cli.rb', line 42

def bootstrap
  PgEasyReplicate.bootstrap(options)
end

#cleanupObject



59
60
61
# File 'lib/pg_easy_replicate/cli.rb', line 59

def cleanup
  PgEasyReplicate.cleanup(options)
end

#config_checkObject



19
20
21
22
23
24
25
26
# File 'lib/pg_easy_replicate/cli.rb', line 19

def config_check
  PgEasyReplicate.assert_config(
    special_user_role: options[:special_user_role],
    copy_schema: options[:copy_schema],
  )

  puts "✅ Config is looking good."
end

#start_syncObject



82
83
84
# File 'lib/pg_easy_replicate/cli.rb', line 82

def start_sync
  PgEasyReplicate::Orchestrate.start_sync(options)
end

#statsObject



123
124
125
126
127
128
129
# File 'lib/pg_easy_replicate/cli.rb', line 123

def stats
  if options[:watch]
    PgEasyReplicate::Stats.follow(options[:group_name])
  else
    PgEasyReplicate::Stats.print(options[:group_name])
  end
end

#stop_syncObject



92
93
94
# File 'lib/pg_easy_replicate/cli.rb', line 92

def stop_sync
  PgEasyReplicate::Orchestrate.stop_sync(group_name: options[:group_name])
end

#switchoverObject

method_option :bi_directional,

aliases: "-b",
desc:
  "Setup replication from target database to source database"


110
111
112
113
114
115
# File 'lib/pg_easy_replicate/cli.rb', line 110

def switchover
  PgEasyReplicate::Orchestrate.switchover(
    group_name: options[:group_name],
    lag_delta_size: options[:lag_delta_size],
  )
end

#versionObject



132
133
134
# File 'lib/pg_easy_replicate/cli.rb', line 132

def version
  puts PgEasyReplicate::VERSION
end