حذف داده های قدیمی جداول دیتابیس با لاراول

حذف داده های قدیمی جداول دیتابیس با لاراول

دسته : فریم ورک لاراول

کد محصول : 56

قیمت : رایگان

گاهی اوقات بعد از فعالیت سایت شما برخی از جداول که برای لاگیری ایجاد شده اند دارای حجم و تعداد رکورد بسیار بالا می باشند و موجب کند شدن دیتابیس می شوند. عموما یک کوئری برای این کار نوشته می شود که مثلا با انجام اتفاق خاص یا در زمان های خاص، اجرا می شود و رکورد هایی که با شرط شما برابری کند را از دیتابیس حذف می کند ما در این مطلب حذف داده های قدیمی جداول دیت...


گاهی اوقات بعد از فعالیت سایت شما برخی از جداول که برای لاگیری ایجاد شده اند دارای حجم و تعداد رکورد بسیار بالا می باشند و موجب کند شدن دیتابیس می شوند.  عموما یک کوئری برای این کار نوشته می شود که مثلا با انجام اتفاق خاص یا در زمان های خاص، اجرا می شود و رکورد هایی که با شرط شما برابری کند را از دیتابیس حذف می کند

ما در این مطلب حذف داده های قدیمی جداول دیتابیس با لاراول را می خواهیم با این فرضیات انجام دهیم

  • داده های یک ماه قبل 
  • جدول visit
  • اجرای کوئری با ورود کاربر به پنل کاربری

در مورد گزینه آخری شما می توانید از یک جاب در لاراول استفاده کنید که مثلا ساعت 3 بامداد اتوماتیک این کار را برای شما انجام دهد

قدم اول : به دست آوردن تاریخ 30 روز پیش، من از Carbon برای اینکار استفاده کردم شما میتونید از strtotime خود php هم استفاده کنید

use Carbon\Carbon; // اینو باید به اول کلاستون اضافه کنید

 

خب تاریخ 30 روز پیش رو ایجاد می کنیم 

$date=Carbon::now()->subDays(30)->format('Y-m-d'); 

 

مرحله آخر میگیم از مدل Visit (همون جدول ویزیت در دیتابیس که تو لاراول براش مدل ساختیم) سطرهایی که با شرط ما برابری می کنند رو حذف کن

Visit::where('created_at','<=',$date)->delete();

 

کل کد برای حذف داده های قدیمی جداول دیتابیس با لاراول

namespace App\Http\Controllers\Admin;
use App\Visit;
use Carbon\Carbon;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class AdminController extends Controller
{
   public function index()
    {
       $date=Carbon::now()->subDays(30)->format('Y-m-d');
       $visit=Visit::where('created_at','<=',$date)->delete();
    }
}

 

لطفا این مطلب را با دوستان خود به اشتراک بگذارید

  • حذف داده های قدیمی جداول دیتابیس با لاراول را با دوستان خود به اشتراک بگذارید.
  • سوالات خود را در بخش پرسش و پاسخ این مطلب ثبت کنید.
  • مطالب خود را در جاب تیم به اسم خود ثبت کنید ارسال مطلب


ثبت سوال/پاسخ
بهزاد میرزازاده
در مورد کاربر : همیشه سخت تلاش کردم و به موفقیت های خیلی زیادی رسیدم اما دلیل نشد که متوقف بشم من برای هر روز برنامه دارم و به امید موفقیت های بزرگتر قدم بر میدارم همیشه سخت ترین مسئله ها، ساده ترین راه حل رو دارند پس بهانه جویی نباید روش کار ما برنامه نویسان باشه!!! ما می توانیم آینده را تعیین کنیم
اشتراک گذاری این مطلب