Skip to content
Snippets Groups Projects
Commit bdf36a78 authored by Rutger Wessels's avatar Rutger Wessels
Browse files

Add check for single db setup

parent 3d7c6fe0
No related branches found
No related tags found
No related merge requests found
......@@ -19,8 +19,9 @@ def initialize
end
def process!
dump_main_db if required_diskspace_available
return unless can_migrate?
dump_main_db
import_dump_to_ci_db
FileUtils.remove_entry_secure(@backup_location, true)
......@@ -43,7 +44,7 @@ def diskspace_free
).bytes_free
end
def required_diskspace_available
def required_diskspace_available?
needed = main_table_sizes * 1.25
available = diskspace_free
......@@ -57,6 +58,18 @@ def required_diskspace_available
true
end
def single_database_setup?
if Gitlab::Database.database_mode == Gitlab::Database::MODE_MULTIPLE_DATABASES
raise MigrateError, "GitLab is already configured to run on multiple databases"
end
true
end
def can_migrate?
single_database_setup? && required_diskspace_available?
end
def with_transient_pg_env(extended_env)
ENV.merge!(extended_env)
result = yield
......
......@@ -73,5 +73,18 @@
)
end
end
context 'when already on decomposed setup' do
before do
allow(Gitlab::Database).to receive(:database_mode).and_return(Gitlab::Database::MODE_MULTIPLE_DATABASES)
end
it 'raises error' do
expect { process }.to raise_error(
Gitlab::Database::Decomposition::MigrateError,
"GitLab is already configured to run on multiple databases"
)
end
end
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment