37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
import click
|
|
|
|
from odoo_openupgrade_wizard.cli.cli_options import database_option_required
|
|
from odoo_openupgrade_wizard.tools.tools_postgres import execute_psql_command
|
|
|
|
|
|
@click.command(context_settings={"ignore_unknown_options": True})
|
|
@database_option_required
|
|
@click.option(
|
|
"-c",
|
|
"--command",
|
|
"request",
|
|
help="SQL command to execute inside the container.",
|
|
)
|
|
@click.option(
|
|
"--pager/--no-pager",
|
|
default=True,
|
|
help="Enable or disable pager when displaying output.",
|
|
)
|
|
@click.argument("psql_args", nargs=-1, type=click.UNPROCESSED)
|
|
@click.pass_context
|
|
def psql(ctx, request, database, pager, psql_args):
|
|
"""Run a SQL command in the PostgreSQL container.
|
|
|
|
This command executes the provided SQL command using `psql`
|
|
within the database container. Use --command for inline SQL
|
|
or pass additional arguments directly to psql via PSQLARGS.
|
|
|
|
See the README.md for more information.
|
|
"""
|
|
|
|
result = execute_psql_command(ctx, request, database, psql_args)
|
|
if pager:
|
|
click.echo_via_pager(result)
|
|
else:
|
|
click.echo(result)
|