Skip to content

Commit 0565779

Browse files
authored
Merge branch 'main' into copilot/fix-1
2 parents d654e9f + c397ba4 commit 0565779

6 files changed

Lines changed: 75 additions & 5 deletions

File tree

.github/workflows/copilot-setup-steps.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717

1818
steps:
1919
- name: Checkout code
20-
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
20+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
2121

2222
- name: Check existence of composer.json file
2323
id: check_composer_file

.typos.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[default]
2+
extend-ignore-re = [
3+
"(?Rm)^.*(#|//)\\s*spellchecker:disable-line$",
4+
"(?s)(#|//)\\s*spellchecker:off.*?\\n\\s*(#|//)\\s*spellchecker:on",
5+
"(#|//)\\s*spellchecker:ignore-next-line\\n.*"
6+
]

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,8 @@ Opens a MySQL console using credentials from wp-config.php
303303
wp db cli [--database=<database>] [--default-character-set=<character-set>] [--dbuser=<value>] [--dbpass=<value>] [--<field>=<value>] [--defaults]
304304
~~~
305305

306+
**Alias:** `connect`
307+
306308
**OPTIONS**
307309

308310
[--database=<database>]
@@ -432,6 +434,8 @@ Exports the database to a file or to STDOUT.
432434
wp db export [<file>] [--dbuser=<value>] [--dbpass=<value>] [--<field>=<value>] [--tables=<tables>] [--exclude_tables=<tables>] [--include-tablespaces] [--porcelain] [--add-drop-table] [--defaults]
433435
~~~
434436

437+
**Alias:** `dump`
438+
435439
Runs `mysqldump` utility using `DB_HOST`, `DB_NAME`, `DB_USER` and
436440
`DB_PASSWORD` database credentials specified in wp-config.php. Accepts any valid `mysqldump` flags.
437441

features/db-check.feature

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,25 @@ Feature: Check the database
1313
Success: Database checked.
1414
"""
1515

16+
Scenario: db check with --quiet flag should only show errors
17+
Given a WP install
18+
19+
When I run `wp db check --quiet`
20+
Then STDOUT should be empty
21+
22+
Scenario: db check can explicitly pass --silent to mysqlcheck
23+
Given a WP install
24+
25+
When I run `wp db check --silent`
26+
Then STDOUT should not contain:
27+
"""
28+
wp_cli_test.wp_users
29+
"""
30+
And STDOUT should contain:
31+
"""
32+
Success: Database checked.
33+
"""
34+
1635
Scenario: Run db check with MySQL defaults to check the database
1736
Given a WP install
1837

features/db.feature

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,28 @@ Feature: Perform database operations
185185
"""
186186
And STDOUT should not be empty
187187
188+
Scenario: db repair with --quiet flag should only show errors
189+
Given a WP install
190+
191+
When I run `wp db repair --quiet`
192+
Then STDOUT should not contain:
193+
"""
194+
error
195+
"""
196+
197+
Scenario: db repair can explicitly pass --silent to mysqlcheck
198+
Given a WP install
199+
200+
When I run `wp db repair --silent`
201+
Then STDOUT should not contain:
202+
"""
203+
error
204+
"""
205+
And STDOUT should contain:
206+
"""
207+
Success: Database repaired.
208+
"""
209+
188210
Scenario: DB Query
189211
Given a WP install
190212
@@ -334,7 +356,7 @@ Feature: Perform database operations
334356
"""
335357
Query succeeded. Rows affected: 1
336358
"""
337-
359+
338360
When I run `wp db query "SELECT * FROM wp_users WHERE ID = 1"`
339361
Then STDOUT should not contain:
340362
"""

src/DB_Command.php

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
use WP_CLI\Formatter;
44
use WP_CLI\Utils;
5+
use cli\table\Column;
56

67
/**
78
* Performs basic database operations using credentials stored in wp-config.php.
@@ -259,6 +260,12 @@ public function check( $_, $assoc_args ) {
259260
WP_CLI::debug( "Running shell command: {$command}", 'db' );
260261

261262
$assoc_args['check'] = true;
263+
264+
// Pass --silent to mysqlcheck when in quiet mode.
265+
if ( WP_CLI::get_config( 'quiet' ) ) {
266+
$assoc_args['silent'] = true;
267+
}
268+
262269
self::run(
263270
Utils\esc_cmd( $command, DB_NAME ),
264271
$assoc_args
@@ -307,6 +314,12 @@ public function optimize( $_, $assoc_args ) {
307314
WP_CLI::debug( "Running shell command: {$command}", 'db' );
308315

309316
$assoc_args['optimize'] = true;
317+
318+
// Pass --silent to mysqlcheck when in quiet mode.
319+
if ( WP_CLI::get_config( 'quiet' ) ) {
320+
$assoc_args['silent'] = true;
321+
}
322+
310323
self::run(
311324
Utils\esc_cmd( $command, DB_NAME ),
312325
$assoc_args
@@ -355,6 +368,12 @@ public function repair( $_, $assoc_args ) {
355368
WP_CLI::debug( "Running shell command: {$command}", 'db' );
356369

357370
$assoc_args['repair'] = true;
371+
372+
// Pass --silent to mysqlcheck when in quiet mode.
373+
if ( WP_CLI::get_config( 'quiet' ) ) {
374+
$assoc_args['silent'] = true;
375+
}
376+
358377
self::run(
359378
Utils\esc_cmd( $command, DB_NAME ),
360379
$assoc_args
@@ -1205,7 +1224,6 @@ public function size( $args, $assoc_args ) {
12051224
if ( ! empty( $size_format ) && ! $tables && ! $format && ! $human_readable && true !== $all_tables && true !== $all_tables_with_prefix ) {
12061225
WP_CLI::line( str_replace( " {$size_format_display}", '', $rows[0]['Size'] ) );
12071226
} else {
1208-
12091227
// Sort the rows by user input
12101228
if ( $orderby ) {
12111229
usort(
@@ -1226,7 +1244,8 @@ function ( $a, $b ) use ( $order, $orderby ) {
12261244

12271245
// Display the rows.
12281246
$args = [
1229-
'format' => $format,
1247+
'format' => $format,
1248+
'alignments' => [ 'Size' => Column::ALIGN_RIGHT ],
12301249
];
12311250

12321251
$formatter = new Formatter( $args, $fields );
@@ -1825,7 +1844,7 @@ private static function run( $cmd, $assoc_args = [], $send_to_shell = true, $int
18251844
$required['default-character-set'] = constant( 'DB_CHARSET' );
18261845
}
18271846

1828-
// Using 'dbuser' as option name to workaround clash with WP-CLI's global WP 'user' parameter, with 'dbpass' also available for tidyness.
1847+
// Using 'dbuser' as option name to workaround clash with WP-CLI's global WP 'user' parameter, with 'dbpass' also available for tidiness.
18291848
if ( isset( $assoc_args['dbuser'] ) ) {
18301849
$required['user'] = $assoc_args['dbuser'];
18311850
unset( $assoc_args['dbuser'] );

0 commit comments

Comments
 (0)