charsetCollation = ACPT_Lite_DB::getCharsetCollation(); } /** * @return string */ abstract public function version(): string; /** * @return array */ abstract public function up(): array; /** * @return array */ abstract public function down(): array; protected function renameTableQuery(string $table): string { if (ACPT_Lite_DB::prefix() == '') { return ''; } if (ACPT_Lite_DB::tableExists(ACPT_Lite_DB::prefixedTableName($table))) { return ''; } return "RENAME TABLE `".$table."` TO `".ACPT_Lite_DB::prefixedTableName($table)."`;"; } protected function deleteTableQuery(string $table): string { return "DROP TABLE IF EXISTS `".$table."`"; } /** * @param string $table * * @return bool */ protected function existsTable($table): bool { global $wpdb; $wpdb->query("SHOW TABLES LIKE '".$table."'"); return $wpdb->num_rows == 1; } }