Skip to content

Commit da3e4a4

Browse files
committed
[IMP] Odoo 15.0-17.0: Make psycopg2.connect dbname configurable.
This allows the system administrator to set the standard PostgreSQL environment variable POSTGRES_DB to change the name of the database created by default. Fixes #358.
1 parent 930f56d commit da3e4a4

File tree

6 files changed

+12
-3
lines changed

6 files changed

+12
-3
lines changed

15.0/entrypoint.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ fi
1010
# and pass them as arguments to the odoo process if not present in the config file
1111
: ${HOST:=${DB_PORT_5432_TCP_ADDR:='db'}}
1212
: ${PORT:=${DB_PORT_5432_TCP_PORT:=5432}}
13+
: ${NAME:=${DB_ENV_POSTGRES_DB:=${POSTGRES_DB:='postgres'}}}
1314
: ${USER:=${DB_ENV_POSTGRES_USER:=${POSTGRES_USER:='odoo'}}}
1415
: ${PASSWORD:=${DB_ENV_POSTGRES_PASSWORD:=${POSTGRES_PASSWORD:='odoo'}}}
1516

@@ -23,6 +24,7 @@ function check_config() {
2324
DB_ARGS+=("--${param}")
2425
DB_ARGS+=("${value}")
2526
}
27+
check_config "database" "$NAME"
2628
check_config "db_host" "$HOST"
2729
check_config "db_port" "$PORT"
2830
check_config "db_user" "$USER"

15.0/wait-for-psql.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
if __name__ == '__main__':
99
arg_parser = argparse.ArgumentParser()
10+
arg_parser.add_argument('--database', required=True)
1011
arg_parser.add_argument('--db_host', required=True)
1112
arg_parser.add_argument('--db_port', required=True)
1213
arg_parser.add_argument('--db_user', required=True)
@@ -18,7 +19,7 @@
1819
start_time = time.time()
1920
while (time.time() - start_time) < args.timeout:
2021
try:
21-
conn = psycopg2.connect(user=args.db_user, host=args.db_host, port=args.db_port, password=args.db_password, dbname='postgres')
22+
conn = psycopg2.connect(user=args.db_user, host=args.db_host, port=args.db_port, password=args.db_password, dbname=args.database)
2223
error = ''
2324
break
2425
except psycopg2.OperationalError as e:

16.0/entrypoint.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ fi
1010
# and pass them as arguments to the odoo process if not present in the config file
1111
: ${HOST:=${DB_PORT_5432_TCP_ADDR:='db'}}
1212
: ${PORT:=${DB_PORT_5432_TCP_PORT:=5432}}
13+
: ${NAME:=${DB_ENV_POSTGRES_DB:=${POSTGRES_DB:='postgres'}}}
1314
: ${USER:=${DB_ENV_POSTGRES_USER:=${POSTGRES_USER:='odoo'}}}
1415
: ${PASSWORD:=${DB_ENV_POSTGRES_PASSWORD:=${POSTGRES_PASSWORD:='odoo'}}}
1516

@@ -23,6 +24,7 @@ function check_config() {
2324
DB_ARGS+=("--${param}")
2425
DB_ARGS+=("${value}")
2526
}
27+
check_config "database" "$NAME"
2628
check_config "db_host" "$HOST"
2729
check_config "db_port" "$PORT"
2830
check_config "db_user" "$USER"

16.0/wait-for-psql.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
if __name__ == '__main__':
99
arg_parser = argparse.ArgumentParser()
10+
arg_parser.add_argument('--database', required=True)
1011
arg_parser.add_argument('--db_host', required=True)
1112
arg_parser.add_argument('--db_port', required=True)
1213
arg_parser.add_argument('--db_user', required=True)
@@ -18,7 +19,7 @@
1819
start_time = time.time()
1920
while (time.time() - start_time) < args.timeout:
2021
try:
21-
conn = psycopg2.connect(user=args.db_user, host=args.db_host, port=args.db_port, password=args.db_password, dbname='postgres')
22+
conn = psycopg2.connect(user=args.db_user, host=args.db_host, port=args.db_port, password=args.db_password, dbname=args.database)
2223
error = ''
2324
break
2425
except psycopg2.OperationalError as e:

17.0/entrypoint.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ fi
1010
# and pass them as arguments to the odoo process if not present in the config file
1111
: ${HOST:=${DB_PORT_5432_TCP_ADDR:='db'}}
1212
: ${PORT:=${DB_PORT_5432_TCP_PORT:=5432}}
13+
: ${NAME:=${DB_ENV_POSTGRES_DB:=${POSTGRES_DB:='postgres'}}}
1314
: ${USER:=${DB_ENV_POSTGRES_USER:=${POSTGRES_USER:='odoo'}}}
1415
: ${PASSWORD:=${DB_ENV_POSTGRES_PASSWORD:=${POSTGRES_PASSWORD:='odoo'}}}
1516

@@ -23,6 +24,7 @@ function check_config() {
2324
DB_ARGS+=("--${param}")
2425
DB_ARGS+=("${value}")
2526
}
27+
check_config "database" "$NAME"
2628
check_config "db_host" "$HOST"
2729
check_config "db_port" "$PORT"
2830
check_config "db_user" "$USER"

17.0/wait-for-psql.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
if __name__ == '__main__':
99
arg_parser = argparse.ArgumentParser()
10+
arg_parser.add_argument('--database', required=True)
1011
arg_parser.add_argument('--db_host', required=True)
1112
arg_parser.add_argument('--db_port', required=True)
1213
arg_parser.add_argument('--db_user', required=True)
@@ -18,7 +19,7 @@
1819
start_time = time.time()
1920
while (time.time() - start_time) < args.timeout:
2021
try:
21-
conn = psycopg2.connect(user=args.db_user, host=args.db_host, port=args.db_port, password=args.db_password, dbname='postgres')
22+
conn = psycopg2.connect(user=args.db_user, host=args.db_host, port=args.db_port, password=args.db_password, dbname=args.database)
2223
error = ''
2324
break
2425
except psycopg2.OperationalError as e:

0 commit comments

Comments
 (0)