Merge branch 'allow-minus-in-database-names' into 'main'

allow hyphen-minus character in database names

See merge request odoo-openupgrade-wizard/odoo-openupgrade-wizard!70
This commit is contained in:
Rémy Taymans 2024-04-12 10:32:13 +00:00
commit 0a0c763a49
2 changed files with 11 additions and 7 deletions

View File

@ -0,0 +1 @@
Allow hyphen-minus character in database names.

View File

@ -1,4 +1,5 @@
import os import os
import shlex
import time import time
from pathlib import Path from pathlib import Path
@ -125,7 +126,7 @@ def execute_psql_command(
"psql" "psql"
" --username=odoo" " --username=odoo"
f" --dbname={database or 'postgres'}" f" --dbname={database or 'postgres'}"
f' --command "{request}"' f" --command {shlex.quote(request)}"
f" {' '.join(psql_args)}" f" {' '.join(psql_args)}"
) )
logger.debug( logger.debug(
@ -151,19 +152,21 @@ def ensure_database(ctx, database: str, state="present", template: str = ""):
return return
if template: if template:
logger.info(f"Copy database '{template}' into '{database}' ...") logger.info(f'Copy database "{template}" into "{database}"...')
request = f"CREATE DATABASE {database} WITH TEMPLATE {template};" request = (
f'CREATE DATABASE "{database}" WITH TEMPLATE "{template}";'
)
else: else:
logger.info(f"Create database '{database}' ...") logger.info(f"Create database '{database}'...")
request = f"CREATE DATABASE {database} owner odoo;" request = f'CREATE DATABASE "{database}" OWNER odoo;'
execute_psql_command(ctx, request) execute_psql_command(ctx, request)
else: else:
if [database] not in result: if [database] not in result:
return return
logger.info(f"Drop database '{database}' ...") logger.info(f'Drop database "{database}"...')
request = f"DROP DATABASE {database};" request = f'DROP DATABASE "{database}";'
execute_psql_command(ctx, request) execute_psql_command(ctx, request)