Merge branch 'psql-refactor-code' into 'main'
[REF] Psql refactor code See merge request odoo-openupgrade-wizard/odoo-openupgrade-wizard!65
This commit is contained in:
commit
6a2acce0ab
|
|
@ -2,10 +2,7 @@ import shutil
|
|||
|
||||
from loguru import logger
|
||||
|
||||
from odoo_openupgrade_wizard.tools.tools_postgres import (
|
||||
ensure_database,
|
||||
execute_sql_request,
|
||||
)
|
||||
from odoo_openupgrade_wizard.tools.tools_postgres import ensure_database
|
||||
|
||||
|
||||
def copydb(ctx, source, dest):
|
||||
|
|
@ -13,9 +10,7 @@ def copydb(ctx, source, dest):
|
|||
ensure_database(ctx, dest, state="absent")
|
||||
|
||||
# Copy database
|
||||
logger.info(f"Copy database {source} into {dest} ...")
|
||||
request = f"CREATE DATABASE {dest} WITH TEMPLATE {source};"
|
||||
execute_sql_request(ctx, request)
|
||||
ensure_database(ctx, dest, state="present", template=source)
|
||||
|
||||
main_path = ctx.obj["filestore_folder_path"] / "filestore"
|
||||
source_path = main_path / source
|
||||
|
|
|
|||
|
|
@ -137,7 +137,7 @@ def execute_psql_command(
|
|||
return docker_result.output.decode("utf-8")
|
||||
|
||||
|
||||
def ensure_database(ctx, database: str, state="present"):
|
||||
def ensure_database(ctx, database: str, state="present", template: str = ""):
|
||||
"""
|
||||
- Connect to postgres container.
|
||||
- Check if the database exist.
|
||||
|
|
@ -152,18 +152,21 @@ def ensure_database(ctx, database: str, state="present"):
|
|||
if [database] in result:
|
||||
return
|
||||
|
||||
logger.info("Create database '%s' ..." % database)
|
||||
request = "CREATE DATABASE {database} owner odoo;".format(
|
||||
database=database
|
||||
)
|
||||
execute_sql_request(ctx, request)
|
||||
if template:
|
||||
logger.info(f"Copy database '{template}' into '{database}' ...")
|
||||
request = f"CREATE DATABASE {database} WITH TEMPLATE {template};"
|
||||
else:
|
||||
logger.info(f"Create database '{database}' ...")
|
||||
request = f"CREATE DATABASE {database} owner odoo;"
|
||||
execute_psql_command(ctx, request)
|
||||
|
||||
else:
|
||||
if [database] not in result:
|
||||
return
|
||||
|
||||
logger.info("Drop database '%s' ..." % database)
|
||||
request = "DROP DATABASE {database};".format(database=database)
|
||||
execute_sql_request(ctx, request)
|
||||
execute_psql_command(ctx, request)
|
||||
|
||||
|
||||
def execute_sql_files_pre_migration(
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user