Fix version check in restorer.
This commit is contained in:
parent
800760e353
commit
766b41d9f4
|
@ -39,11 +39,8 @@ module BackupRestore
|
||||||
validate_metadata
|
validate_metadata
|
||||||
|
|
||||||
extract_dump
|
extract_dump
|
||||||
dumped_by_version = Gem::Version.new(get_dumped_by_version)
|
|
||||||
|
|
||||||
if dumped_by_version >= Gem::Version.new("10.3") ||
|
|
||||||
dumped_by_version >= Gem::Version.new("9.5.12")
|
|
||||||
|
|
||||||
|
if !can_restore_into_different_schema?
|
||||||
enable_readonly_mode
|
enable_readonly_mode
|
||||||
|
|
||||||
pause_sidekiq
|
pause_sidekiq
|
||||||
|
@ -266,6 +263,23 @@ module BackupRestore
|
||||||
output.match(/version (\d+(\.\d+)?)/)[1]
|
output.match(/version (\d+(\.\d+)?)/)[1]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def can_restore_into_different_schema?
|
||||||
|
dumped_by_version = Gem::Version.new(get_dumped_by_version)
|
||||||
|
|
||||||
|
return false if dumped_by_version >= Gem::Version.new("10.3")
|
||||||
|
|
||||||
|
%w{
|
||||||
|
9.6.8
|
||||||
|
9.5.12
|
||||||
|
9.4.17
|
||||||
|
9.3.22
|
||||||
|
}.each do |version|
|
||||||
|
return false if Gem::Dependency.new("", "~> #{version}").match?("", dumped_by_version)
|
||||||
|
end
|
||||||
|
|
||||||
|
true
|
||||||
|
end
|
||||||
|
|
||||||
def restore_dump_command
|
def restore_dump_command
|
||||||
if File.extname(@dump_filename) == '.gz'
|
if File.extname(@dump_filename) == '.gz'
|
||||||
"gzip -d < #{@dump_filename} | #{sed_command} | #{psql_command} 2>&1"
|
"gzip -d < #{@dump_filename} | #{sed_command} | #{psql_command} 2>&1"
|
||||||
|
|
Loading…
Reference in New Issue