Skip to content

Commit 1de14eb

Browse files
committed
Ensure user/pass are included
1 parent 47d601c commit 1de14eb

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed

src/DB_Command.php

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1543,7 +1543,10 @@ protected function run_query( $query, $assoc_args = [] ) {
15431543

15441544
WP_CLI::debug( "Query: {$query}", 'db' );
15451545

1546-
$mysql_args = self::get_mysql_args( $assoc_args );
1546+
$mysql_args = array_merge(
1547+
self::get_mysql_args( $assoc_args ),
1548+
self::get_dbuser_dbpass_args( $assoc_args )
1549+
);
15471550

15481551
self::run(
15491552
sprintf(
@@ -1601,6 +1604,25 @@ private static function run( $cmd, $assoc_args = [], $send_to_shell = true, $int
16011604
return Utils\run_mysql_command( $cmd, $final_args, null, $send_to_shell, $interactive );
16021605
}
16031606

1607+
/**
1608+
* Helper to pluck 'dbuser' and 'dbpass' from associative args array.
1609+
*
1610+
* @param array $assoc_args Associative args array.
1611+
* @return array Array with `dbuser' and 'dbpass' set if in passed-in associative args array.
1612+
*/
1613+
private static function get_dbuser_dbpass_args( $assoc_args ) {
1614+
$mysql_args = [];
1615+
$dbuser = Utils\get_flag_value( $assoc_args, 'dbuser' );
1616+
if ( null !== $dbuser ) {
1617+
$mysql_args['dbuser'] = $dbuser;
1618+
}
1619+
$dbpass = Utils\get_flag_value( $assoc_args, 'dbpass' );
1620+
if ( null !== $dbpass ) {
1621+
$mysql_args['dbpass'] = $dbpass;
1622+
}
1623+
return $mysql_args;
1624+
}
1625+
16041626
/**
16051627
* Gets the column names of a db table differentiated into key columns and text columns and all columns.
16061628
*

0 commit comments

Comments
 (0)