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();
|
|
}
|
|
}
|
|
|