mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2024-11-21 16:27:39 -06:00
Fixed an issue where servers listed in the servers.json file were being reimported upon container restart. #7811
This commit is contained in:
parent
e21911b1c6
commit
ed211a2bbb
@ -37,7 +37,13 @@ EOF
|
||||
done
|
||||
fi
|
||||
|
||||
if [ ! -f /var/lib/pgadmin/pgadmin4.db ]; then
|
||||
# Check whether the external configuration database exists if it is being used.
|
||||
external_config_db_exists="False"
|
||||
if [ -n "${PGADMIN_CONFIG_CONFIG_DATABASE_URI}" ]; then
|
||||
external_config_db_exists=$(cd /pgadmin4/pgadmin/utils && /venv/bin/python3 -c "from check_external_config_db import check_external_config_db; val = check_external_config_db(${PGADMIN_CONFIG_CONFIG_DATABASE_URI}); print(val)")
|
||||
fi
|
||||
|
||||
if [ ! -f /var/lib/pgadmin/pgadmin4.db ] && [ "${external_config_db_exists}" = "False" ]; then
|
||||
if [ -z "${PGADMIN_DEFAULT_EMAIL}" ] || { [ -z "${PGADMIN_DEFAULT_PASSWORD}" ] && [ -z "${PGADMIN_DEFAULT_PASSWORD_FILE}" ]; }; then
|
||||
echo 'You need to define the PGADMIN_DEFAULT_EMAIL and PGADMIN_DEFAULT_PASSWORD or PGADMIN_DEFAULT_PASSWORD_FILE environment variables.'
|
||||
exit 1
|
||||
|
27
web/pgadmin/utils/check_external_config_db.py
Normal file
27
web/pgadmin/utils/check_external_config_db.py
Normal file
@ -0,0 +1,27 @@
|
||||
##########################################################################
|
||||
#
|
||||
# pgAdmin 4 - PostgreSQL Tools
|
||||
#
|
||||
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
|
||||
# This software is released under the PostgreSQL Licence
|
||||
#
|
||||
##########################################################################
|
||||
|
||||
from sqlalchemy import create_engine, inspect
|
||||
|
||||
|
||||
def check_external_config_db(database_uri):
|
||||
"""
|
||||
Check if external config database exists if it
|
||||
is being used.
|
||||
"""
|
||||
engine = create_engine(database_uri)
|
||||
try:
|
||||
connection = engine.connect()
|
||||
if inspect(engine).has_table("server"):
|
||||
return True
|
||||
return False
|
||||
except Exception:
|
||||
return False
|
||||
finally:
|
||||
connection.close()
|
Loading…
Reference in New Issue
Block a user