diff --git a/wp-includes/sqlite/class-wp-sqlite-translator.php b/wp-includes/sqlite/class-wp-sqlite-translator.php index 33f0171..dfbe709 100644 --- a/wp-includes/sqlite/class-wp-sqlite-translator.php +++ b/wp-includes/sqlite/class-wp-sqlite-translator.php @@ -1120,11 +1120,17 @@ private function parse_mysql_create_table_field() { continue; } - if ( $token->matches( - WP_SQLite_Token::TYPE_KEYWORD, - WP_SQLite_Token::FLAG_KEYWORD_RESERVED, - array( 'ON UPDATE' ) - ) ) { + if ( + $token->matches( + WP_SQLite_Token::TYPE_KEYWORD, + WP_SQLite_Token::FLAG_KEYWORD_RESERVED, + array( 'ON UPDATE' ) + ) && $this->rewriter->peek()->matches( + WP_SQLite_Token::TYPE_KEYWORD, + WP_SQLite_Token::FLAG_KEYWORD_RESERVED, + array( 'CURRENT_TIMESTAMP' ) + ) + ) { $this->rewriter->skip(); $result->on_update = true; continue; @@ -2992,9 +2998,15 @@ private function execute_alter() { 'value' => array( 'ON UPDATE' ), ) ); - $this->rewriter->drop_last(); - $this->rewriter->skip(); - $on_update = $column_name; + if ( $this->rewriter->peek()->matches( + WP_SQLite_Token::TYPE_KEYWORD, + WP_SQLite_Token::FLAG_KEYWORD_RESERVED, + array( 'CURRENT_TIMESTAMP' ) + ) ) { + $this->rewriter->drop_last(); + $this->rewriter->skip(); + $on_update = $column_name; + } } // Drop "FIRST" and "AFTER ", as these are not supported in SQLite.