From 88412255b4300a0f7e9425416426a6a2800364a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberto=20Miedes=20Garc=C3=A9s?= Date: Tue, 26 May 2020 12:06:11 +0200 Subject: [PATCH] Clean code --- services/user-mover/import_user.rb | 37 ++++++++++-------------------- 1 file changed, 12 insertions(+), 25 deletions(-) diff --git a/services/user-mover/import_user.rb b/services/user-mover/import_user.rb index 9f86e9eba9..275999499b 100644 --- a/services/user-mover/import_user.rb +++ b/services/user-mover/import_user.rb @@ -601,27 +601,20 @@ module CartoDB # dump = nil: it should have postgis, cartodb/cdb_importer/cdb schemas # connect as superuser (postgres) @logger.info "Creating user DB #{@target_dbname}..." - begin - if params[:from_dump] - superuser_pg_conn.query("CREATE DATABASE \"#{@target_dbname}\"") - else - superuser_pg_conn.query("CREATE DATABASE \"#{@target_dbname}\" WITH TEMPLATE template_postgis") - end - # This rescue can be improved a little bit. The way it is it assumes that the error - # will always be that the db already exists - rescue PG::Error => e - if params[:from_dump] - @logger.error "Error: Database already exists" - raise e - else - @logger.warn "Warning: Database already exists" - end - end - params[:from_dump] ? setup_db_for_migration : setup_db + if params[:from_dump] + superuser_pg_conn.query("CREATE DATABASE \"#{@target_dbname}\"") + setup_db_extensions_for_migration + else + superuser_pg_conn.query("CREATE DATABASE \"#{@target_dbname}\" WITH TEMPLATE template_postgis") + setup_db_extensions + end + rescue PG::Error => e + @logger.error(e.message) + raise e end - def setup_db + def setup_db_extensions superuser_user_pg_conn.query("CREATE EXTENSION IF NOT EXISTS postgis") cartodb_schema = superuser_user_pg_conn.query("SELECT nspname FROM pg_catalog.pg_namespace where nspname = 'cartodb'") superuser_user_pg_conn.query("CREATE SCHEMA cartodb") if cartodb_schema.count == 0 @@ -630,21 +623,15 @@ module CartoDB cdb_schema = superuser_user_pg_conn.query("SELECT nspname FROM pg_catalog.pg_namespace where nspname = 'cdb'") superuser_user_pg_conn.query("CREATE SCHEMA cdb") if cdb_schema.count == 0 superuser_user_pg_conn.query("CREATE EXTENSION IF NOT EXISTS cartodb WITH SCHEMA cartodb CASCADE") - rescue PG::Error => e - @logger.error "Error: Cannot setup DB" - raise e end - def setup_db_for_migration + def setup_db_extensions_for_migration destination_db_version = get_database_version_for_binaries(superuser_pg_conn).split('.').first return if destination_db_version != '12' superuser_user_pg_conn.query("CREATE EXTENSION IF NOT EXISTS postgis") superuser_user_pg_conn.query("CREATE EXTENSION IF NOT EXISTS postgis_raster") superuser_user_pg_conn.query("CREATE EXTENSION IF NOT EXISTS plpython3u") - rescue PG::Error => e - @logger.error "Error: Cannot setup DB for migration" - raise e end def update_database_retries(userid, username, db_host, db_name, retries = 1)