Skip to content
Snippets Groups Projects

Add rake task for copying 'main' database to 'ci' database

1 unresolved thread
3 files
+ 32
7
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -21,9 +21,10 @@ class Migrate
attr_reader :backup_location
def initialize(backup_location: nil)
def initialize(backup_base_location: nil)
random_post_fix = SecureRandom.alphanumeric(10)
@backup_location = File.join(backup_location || Gitlab.config.backup.path, "migration_#{random_post_fix}")
@backup_base_location = backup_base_location || Gitlab.config.backup.path
@backup_location = File.join(@backup_base_location, "migration_#{random_post_fix}")
end
def process!
@@ -37,6 +38,14 @@ def process!
private
def valid_backup_location?
unless File.directory?(@backup_base_location)
raise MigrateError, "Directory #{@backup_base_location} does not exist."
end
true
end
def main_table_sizes
ApplicationRecord.connection.execute(
ApplicationRecord.sanitize_sql([
@@ -111,7 +120,11 @@ def ci_database_empty?
end
def can_migrate?
single_database_setup? && ci_database_connect_ok? && ci_database_empty? && required_diskspace_available?
valid_backup_location? &&
single_database_setup? &&
ci_database_connect_ok? &&
ci_database_empty? &&
required_diskspace_available?
end
def with_transient_pg_env(extended_env)
Loading