mirror of
https://github.com/discourse/discourse.git
synced 2024-12-16 08:04:32 +08:00
Fix version check in restorer.
This commit is contained in:
parent
3bccd8c8f3
commit
837c0b9a77
|
@ -39,11 +39,8 @@ module BackupRestore
|
|||
validate_metadata
|
||||
|
||||
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
|
||||
|
||||
pause_sidekiq
|
||||
|
@ -266,6 +263,23 @@ module BackupRestore
|
|||
output.match(/version (\d+(\.\d+)?)/)[1]
|
||||
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
|
||||
if File.extname(@dump_filename) == '.gz'
|
||||
"gzip -d < #{@dump_filename} | #{sed_command} | #{psql_command} 2>&1"
|
||||
|
|
Loading…
Reference in New Issue
Block a user