@@ -717,8 +717,8 @@ public function import( $args, $assoc_args ) {
717717 // Process options to MySQL.
718718 $ mysql_args = array_merge (
719719 [ 'database ' => DB_NAME ],
720- self ::get_mysql_args ( $ assoc_args ),
721- self ::get_dbuser_dbpass_args ( $ assoc_args )
720+ self ::get_dbuser_dbpass_args ( $ assoc_args ),
721+ self ::get_mysql_args ( $ assoc_args )
722722 );
723723
724724 if ( '- ' !== $ result_file ) {
@@ -1545,16 +1545,17 @@ protected function run_query( $query, $assoc_args = [] ) {
15451545 WP_CLI ::debug ( "Query: {$ query }" , 'db ' );
15461546
15471547 $ mysql_args = array_merge (
1548- self ::get_mysql_args ( $ assoc_args ),
1549- self ::get_dbuser_dbpass_args ( $ assoc_args )
1548+ [ 'database ' => DB_NAME ],
1549+ self ::get_dbuser_dbpass_args ( $ assoc_args ),
1550+ self ::get_mysql_args ( $ assoc_args )
15501551 );
15511552
15521553 self ::run (
15531554 sprintf (
15541555 '/usr/bin/env mysql%s --no-auto-rehash ' ,
15551556 $ this ->get_defaults_flag_string ( $ assoc_args )
15561557 ),
1557- array_merge ( $ mysql_args , [ 'execute ' => $ query ] )
1558+ array_merge ( [ 'execute ' => $ query ], $ mysql_args )
15581559 );
15591560 }
15601561
@@ -1600,7 +1601,19 @@ private static function run( $cmd, $assoc_args = [], $send_to_shell = true, $int
16001601 unset( $ assoc_args ['dbpass ' ], $ assoc_args ['password ' ] );
16011602 }
16021603
1603- $ final_args = array_merge ( $ assoc_args , $ required );
1604+ $ final_args = array_merge ( $ required , $ assoc_args );
1605+
1606+ // Adapt ordering of arguments.
1607+ uksort (
1608+ $ final_args , static function ( $ a , $ b ) {
1609+ switch ( $ b ) {
1610+ case 'force ' :
1611+ return -1 ;
1612+ default :
1613+ return 1 ;
1614+ }
1615+ }
1616+ );
16041617
16051618 return Utils \run_mysql_command ( $ cmd , $ final_args , null , $ send_to_shell , $ interactive );
16061619 }
0 commit comments