From f4b780503db3cc43174f031335b7c2cfa692884a Mon Sep 17 00:00:00 2001 From: Kirtan Gajjar Date: Fri, 31 Jul 2020 18:22:30 +0530 Subject: [PATCH 1/4] Fix db name with hypen issue --- src/helper/class-ee-site.php | 10 ++++++++++ src/helper/site-utils.php | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/helper/class-ee-site.php b/src/helper/class-ee-site.php index 44073f47..8bcb422d 100644 --- a/src/helper/class-ee-site.php +++ b/src/helper/class-ee-site.php @@ -216,6 +216,16 @@ protected function delete_site( $level, $site_url, $site_fs_path, $db_data = [] \EE::exec( 'docker volume rm ' . $volume ); } + $db_script_path = \EE\Utils\get_temp_dir() . 'db_exec'; + + if ( $this->fs->exists( $db_script_path ) ) { + try { + $this->fs->remove($db_script_path); + } catch (\Exception $e) { + \EE::debug($e); + } + } + if ( ! empty( $db_data['db_host'] ) ) { \EE\Site\Utils\cleanup_db( $db_data['db_host'], $db_data['db_name'] ); \EE\Site\Utils\cleanup_db_user( $db_data['db_host'], $db_data['db_user'] ); diff --git a/src/helper/site-utils.php b/src/helper/site-utils.php index d64aa33f..c87b8d47 100644 --- a/src/helper/site-utils.php +++ b/src/helper/site-utils.php @@ -129,7 +129,7 @@ function create_user_in_db( $db_host, $db_name = '', $db_user = '', $db_pass = ' $db_user = empty( $db_user ) ? \EE\Utils\random_password( 5 ) : $db_user; $db_pass = empty( $db_pass ) ? \EE\Utils\random_password() : $db_pass; - $create_string = sprintf( "CREATE USER '%1\$s'@'%%' IDENTIFIED BY '%2\$s'; CREATE DATABASE %3\$s; GRANT ALL PRIVILEGES ON %3\$s.* TO '%1\$s'@'%%'; FLUSH PRIVILEGES;", $db_user, $db_pass, $db_name ); + $create_string = sprintf( 'CREATE USER "%1$s"@"%%" IDENTIFIED BY "%2$s"; CREATE DATABASE `%3$s`; GRANT ALL PRIVILEGES ON `%3$s`.* TO "%1$s"@"%%"; FLUSH PRIVILEGES;', $db_user, $db_pass, $db_name ); if ( GLOBAL_DB === $db_host ) { @@ -148,7 +148,7 @@ function create_user_in_db( $db_host, $db_name = '', $db_user = '', $db_pass = ' } $db_script_path = \EE\Utils\get_temp_dir() . 'db_exec'; - file_put_contents( $db_script_path, sprintf( 'mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e"%s"', $create_string ) ); + file_put_contents( $db_script_path, sprintf( 'mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e\'%s\'', $create_string ) ); EE::exec( sprintf( 'docker cp %s %s:/db_exec', $db_script_path, GLOBAL_DB_CONTAINER ) ); if ( ! EE::exec( sprintf( 'docker exec %s sh db_exec', GLOBAL_DB_CONTAINER ) ) ) { From 0717f4412f769e5e9a11a55fd1a6cea08118234f Mon Sep 17 00:00:00 2001 From: Kirtan Gajjar Date: Thu, 6 Aug 2020 18:14:03 +0530 Subject: [PATCH 2/4] Add todo --- src/helper/site-utils.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/helper/site-utils.php b/src/helper/site-utils.php index c87b8d47..ce3d9e2b 100644 --- a/src/helper/site-utils.php +++ b/src/helper/site-utils.php @@ -129,6 +129,7 @@ function create_user_in_db( $db_host, $db_name = '', $db_user = '', $db_pass = ' $db_user = empty( $db_user ) ? \EE\Utils\random_password( 5 ) : $db_user; $db_pass = empty( $db_pass ) ? \EE\Utils\random_password() : $db_pass; + //TODO: Create database only if it does not exist $create_string = sprintf( 'CREATE USER "%1$s"@"%%" IDENTIFIED BY "%2$s"; CREATE DATABASE `%3$s`; GRANT ALL PRIVILEGES ON `%3$s`.* TO "%1$s"@"%%"; FLUSH PRIVILEGES;', $db_user, $db_pass, $db_name ); if ( GLOBAL_DB === $db_host ) { From 951def033b341781835479ff21955e03d5e60c4b Mon Sep 17 00:00:00 2001 From: Kirtan Gajjar Date: Thu, 6 Aug 2020 19:20:37 +0530 Subject: [PATCH 3/4] Fix database delete --- src/helper/site-utils.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/helper/site-utils.php b/src/helper/site-utils.php index 35163784..c0e263d2 100644 --- a/src/helper/site-utils.php +++ b/src/helper/site-utils.php @@ -194,11 +194,11 @@ function create_user_in_db( $db_host, $db_name = '', $db_user = '', $db_pass = ' */ function cleanup_db( $db_host, $db_name, $db_user = '', $db_pass = '' ) { - $cleanup_string = sprintf( 'DROP DATABASE %s;', $db_name ); + $cleanup_string = sprintf( 'DROP DATABASE `%s`;', $db_name ); if ( GLOBAL_DB === $db_host ) { $db_script_path = \EE\Utils\get_temp_dir() . 'db_exec'; - file_put_contents( $db_script_path, sprintf( 'mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e"%s"', $cleanup_string ) ); + file_put_contents( $db_script_path, sprintf( 'mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e\'%s\'', $cleanup_string ) ); EE::exec( sprintf( 'docker cp %s %s:/db_exec', $db_script_path, GLOBAL_DB_CONTAINER ) ); EE::exec( sprintf( 'docker exec %s sh db_exec', GLOBAL_DB_CONTAINER ) ); From 8d87e86e7e414dd8fa7465843717e0c847b16cc1 Mon Sep 17 00:00:00 2001 From: Riddhesh Sanghvi Date: Fri, 7 Aug 2020 10:29:19 +0530 Subject: [PATCH 4/4] PHPCS fixes Signed-off-by: Riddhesh Sanghvi --- src/helper/class-ee-site.php | 6 +++--- src/helper/site-utils.php | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/helper/class-ee-site.php b/src/helper/class-ee-site.php index d935a9a0..60f9074e 100644 --- a/src/helper/class-ee-site.php +++ b/src/helper/class-ee-site.php @@ -244,9 +244,9 @@ protected function delete_site( $level, $site_url, $site_fs_path, $db_data = [] if ( $this->fs->exists( $db_script_path ) ) { try { - $this->fs->remove($db_script_path); - } catch (\Exception $e) { - \EE::debug($e); + $this->fs->remove( $db_script_path ); + } catch ( \Exception $e ) { + \EE::debug( $e ); } } diff --git a/src/helper/site-utils.php b/src/helper/site-utils.php index 44a2779a..1bc3511c 100644 --- a/src/helper/site-utils.php +++ b/src/helper/site-utils.php @@ -147,7 +147,7 @@ function create_user_in_db( $db_host, $db_name = '', $db_user = '', $db_pass = ' $db_user = empty( $db_user ) ? \EE\Utils\random_password( 5 ) : $db_user; $db_pass = empty( $db_pass ) ? \EE\Utils\random_password() : $db_pass; - //TODO: Create database only if it does not exist + // TODO: Create database only if it does not exist. $create_string = sprintf( 'CREATE USER "%1$s"@"%%" IDENTIFIED BY "%2$s"; CREATE DATABASE `%3$s`; GRANT ALL PRIVILEGES ON `%3$s`.* TO "%1$s"@"%%"; FLUSH PRIVILEGES;', $db_user, $db_pass, $db_name ); if ( GLOBAL_DB === $db_host ) {