You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							59 lines
						
					
					
						
							2.0 KiB
						
					
					
				
			
		
		
	
	
							59 lines
						
					
					
						
							2.0 KiB
						
					
					
				<?php
 | 
						|
 | 
						|
namespace App\Http\Controllers\Admin;
 | 
						|
 | 
						|
use App\Http\Controllers\Controller;
 | 
						|
use Illuminate\Http\Request;
 | 
						|
use Illuminate\Support\Facades\DB;
 | 
						|
use Brian2694\Toastr\Facades\Toastr;
 | 
						|
 | 
						|
 | 
						|
class DatabaseSettingController extends Controller
 | 
						|
{
 | 
						|
    public function db_index()
 | 
						|
    {
 | 
						|
 | 
						|
        $tables = DB::connection()->getDoctrineSchemaManager()->listTableNames();
 | 
						|
        $filter_tables = array(
 | 
						|
            'admin_roles', 'admins', 'business_settings', 'colors', 'currencies',
 | 
						|
            'failed_jobs', 'migrations', 'oauth_access_tokens', 'oauth_auth_codes',
 | 
						|
            'oauth_clients', 'oauth_personal_access_clients', 'oauth_refresh_tokens',
 | 
						|
            'password_resets', 'personal_access_tokens', 'phone_or_email_verifications',
 | 
						|
            'social_medias', 'soft_credentials', 'users','email_verifications',
 | 
						|
            'phone_verifications','phone_verifications','restaurant_zone','mail_configs',
 | 
						|
            'translations','vendor_employees'
 | 
						|
        );
 | 
						|
        $tables = array_values(array_diff($tables, $filter_tables));
 | 
						|
        $filter_tables = array_diff($tables, $filter_tables);
 | 
						|
        $rows = [];
 | 
						|
        foreach ($filter_tables as $table) {
 | 
						|
            $count = DB::table($table)->count();
 | 
						|
            array_push($rows, $count);
 | 
						|
        }
 | 
						|
 | 
						|
        return view('admin-views.business-settings.db-index', compact('tables', 'rows'));
 | 
						|
    }
 | 
						|
    public function clean_db(Request $request)
 | 
						|
    {
 | 
						|
        $tables = (array)$request->tables;
 | 
						|
 | 
						|
        if (count($tables) == 0) {
 | 
						|
            Toastr::error(translate('No Table Updated'));
 | 
						|
            return back();
 | 
						|
        }
 | 
						|
 | 
						|
        try {
 | 
						|
            DB::transaction(function () use ($tables) {
 | 
						|
                foreach ($tables as $table) {
 | 
						|
                    DB::table($table)->delete();
 | 
						|
                }
 | 
						|
            });
 | 
						|
        } catch (\Exception $exception) {
 | 
						|
            Toastr::error(translate('Failed to update!'));
 | 
						|
            return back();
 | 
						|
        }
 | 
						|
 | 
						|
        Toastr::success(translate('messages.updated_successfully'));
 | 
						|
        return back();
 | 
						|
    }
 | 
						|
}
 | 
						|
 |