Skip to content
Snippets Groups Projects

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

2 files
+ 9
8
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -73,7 +73,7 @@ def single_database_setup?
true
end
def ci_database_created?
def ci_database_connect_ok?
_, status = with_transient_pg_env(ci_config[:pg_env]) do
psql_args = ["--dbname=#{ci_database_name}", "-tAc", "select 1"]
@@ -82,7 +82,8 @@ def ci_database_created?
unless status.success?
raise MigrateError,
"Database '#{ci_database_name} not found. Please create it according to migration document"
"Can't connect to database '#{ci_database_name} on host '#{ci_config[:pg_env]['PGHOST']}'. " \
"Ensure the database has been created."
end
true
@@ -94,13 +95,13 @@ def ci_database_empty?
{ table_catalog: ci_database_name }
])
std, status = with_transient_pg_env(ci_config[:pg_env]) do
output, status = with_transient_pg_env(ci_config[:pg_env]) do
psql_args = ["--dbname=#{ci_database_name}", "-tAc", sql]
Open3.capture2e('psql', *psql_args)
end
unless status.success? && std.chomp.to_i == 0
unless status.success? && output.chomp.to_i == 0
raise MigrateError,
"Database '#{ci_database_name}' is not empty"
end
@@ -109,7 +110,7 @@ def ci_database_empty?
end
def can_migrate?
single_database_setup? && ci_database_created? && ci_database_empty? && required_diskspace_available?
single_database_setup? && ci_database_connect_ok? && ci_database_empty? && required_diskspace_available?
end
def with_transient_pg_env(extended_env)
Loading