[IMP] add --database option ; [CI] try to fix ci, adding a postgresql container
This commit is contained in:
parent
11a59249b3
commit
5776ff5893
|
|
@ -36,4 +36,8 @@ pytest:
|
|||
- echo $PATH
|
||||
- echo $PYTHONPATH
|
||||
- poetry run pytest --version
|
||||
|
||||
- # Create a postgresql container
|
||||
- docker run -v odoo-data:/var/lib/odoo -d -p 8069:8069 --name odoo --link db:db -t odoo
|
||||
|
||||
- poetry run pytest --cov odoo_openupgrade_wizard -v
|
||||
|
|
|
|||
|
|
@ -11,6 +11,26 @@ def releases_options(function):
|
|||
return function
|
||||
|
||||
|
||||
def step_option(function):
|
||||
function = click.option(
|
||||
"--step",
|
||||
required=True,
|
||||
prompt=True,
|
||||
type=str,
|
||||
help="Migration step for which you want to perform the operation.",
|
||||
)(function)
|
||||
return function
|
||||
|
||||
|
||||
def database_option(function):
|
||||
function = click.option(
|
||||
"--database",
|
||||
type=str,
|
||||
help="Odoo Database for which you want to perform the operation.",
|
||||
)(function)
|
||||
return function
|
||||
|
||||
|
||||
def get_odoo_versions_from_options(ctx, releases_arg):
|
||||
|
||||
if not releases_arg:
|
||||
|
|
@ -24,17 +44,6 @@ def get_odoo_versions_from_options(ctx, releases_arg):
|
|||
return odoo_versions
|
||||
|
||||
|
||||
def step_options(function):
|
||||
function = click.option(
|
||||
"--step",
|
||||
required=True,
|
||||
prompt=True,
|
||||
type=str,
|
||||
help="Migration step for which you want to perform the operation.",
|
||||
)(function)
|
||||
return function
|
||||
|
||||
|
||||
def get_migration_step_from_options(ctx, step_arg):
|
||||
step = float(step_arg)
|
||||
for migration_step in ctx.obj["config"]["migration_steps"]:
|
||||
|
|
|
|||
|
|
@ -4,14 +4,16 @@ import click
|
|||
from loguru import logger
|
||||
|
||||
from odoo_openupgrade_wizard.cli_options import (
|
||||
database_option,
|
||||
get_migration_step_from_options,
|
||||
step_options,
|
||||
step_option,
|
||||
)
|
||||
from odoo_openupgrade_wizard.tools_odoo import kill_odoo, run_odoo
|
||||
|
||||
|
||||
@click.command()
|
||||
@step_options
|
||||
@step_option
|
||||
@database_option
|
||||
@click.option(
|
||||
"--duration",
|
||||
type=float,
|
||||
|
|
@ -21,11 +23,11 @@ from odoo_openupgrade_wizard.tools_odoo import kill_odoo, run_odoo
|
|||
" function to stop.",
|
||||
)
|
||||
@click.pass_context
|
||||
def run(ctx, step, duration):
|
||||
def run(ctx, step, database, duration):
|
||||
|
||||
migration_step = get_migration_step_from_options(ctx, step)
|
||||
try:
|
||||
run_odoo(ctx, migration_step)
|
||||
run_odoo(ctx, migration_step, database=database)
|
||||
if duration:
|
||||
sleep(duration)
|
||||
else:
|
||||
|
|
|
|||
|
|
@ -36,12 +36,13 @@ def get_odoo_version_from_migration_step(ctx, migration_step: dict) -> dict:
|
|||
|
||||
|
||||
def generate_odoo_command(
|
||||
ctx, migration_step: dict, update_all: bool = False
|
||||
ctx, migration_step: dict, database: str = False, update_all: bool = False
|
||||
) -> str:
|
||||
# TODO, make it dynamic
|
||||
addons_path = (
|
||||
"/container_env/src/odoo/addons," "/container_env/src/odoo/odoo/addons"
|
||||
)
|
||||
database_cmd = database and "--database %s" % database or ""
|
||||
update_all_cmd = update_all and "--update_all" or ""
|
||||
return (
|
||||
f"/container_env/src/odoo/odoo-bin"
|
||||
|
|
@ -50,16 +51,17 @@ def generate_odoo_command(
|
|||
f" --db_user odoo"
|
||||
f" --db_password odoo"
|
||||
f" --addons-path {addons_path}"
|
||||
f" {database_cmd}"
|
||||
f" {update_all_cmd}"
|
||||
)
|
||||
|
||||
|
||||
def run_odoo(ctx, migration_step: dict):
|
||||
def run_odoo(ctx, migration_step: dict, database: str = False):
|
||||
client = docker.from_env()
|
||||
odoo_version = get_odoo_version_from_migration_step(ctx, migration_step)
|
||||
folder_path = get_odoo_env_path(ctx, odoo_version)
|
||||
|
||||
command = generate_odoo_command(ctx, migration_step)
|
||||
command = generate_odoo_command(ctx, migration_step, database=database)
|
||||
|
||||
image_name = get_docker_image_tag(ctx, odoo_version)
|
||||
container_name = get_docker_container_name(ctx, migration_step)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user