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
|
done
|
||||||
fi
|
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
|
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.'
|
echo 'You need to define the PGADMIN_DEFAULT_EMAIL and PGADMIN_DEFAULT_PASSWORD or PGADMIN_DEFAULT_PASSWORD_FILE environment variables.'
|
||||||
exit 1
|
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