pull/15686/head
Alberto Miedes Garcés 4 years ago
parent f252256473
commit 88412255b4

@ -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)

Loading…
Cancel
Save