TGViewer
DevTwitter | توییت برنامه نویسی DevTwitter | توییت برنامه نویسی @devtwitter · 32.3K subscribers
Post #12519 6.78K
فکر می‌کنم DB::unprepared یکی از متدهای کمتر شناخته‌شده، بدرد بخور اما در عین حال خطرناک لاراوله!

سناریو:
یه فایل SQL شامل ده‌ها دستور مختلف داری و می‌خوایی اون رو اجرا کنی.

بدرد ساخت Trigger، Stored Procedure و اجرای چند دستور SQL پیچیده می‌خوره.
این متد می‌گه: SQL رو دقیقا همون‌طور که هست به دیتابیس بفرست و هیچ Prepared Statement یا Parameter Binding روش انجام نده.

خطرناک بودنش همین‌جاست چون Binding انجام نمی‌شه و خطر SQL Injection وجود داره.
تفاوتشم با DB::statement همینه. statement از Binding پشتیبانی می‌کنه و نسبت به SQL Injection ایمن‌تره.
بنابراین برای SQLهای ثابت و از پیش تعریف‌شده مناسبه، نه برای کوئری‌هایی که از کاربر می‌گیریم.

به نظرم بیشترین کاربردش اجرای فایل‌های SQL آماده در Migrationهاست.
- همه تغییرات دیتابیس Version Control می‌شن.
- اعضای جدید تیم با اجرای Migration کارشون انجام میشه.
- دیگه خبری از این اسکریپت رو روی سرور اجرا کردی؟ یا صبر کن فایل SQL بهت بدم نیست.

@DevTwitter | <Ehsan Rezaei/>
  • 👍 11
  • 🍌 4
  • ❤ 1
More from @devtwitter
  1. Oct 2, 2026با RyzerDNS، تحریم‌ها دیگر مانع شما نیستند. از هوش مصنوعی‌هایی مثل ChatGPT، Gemini و Claud…
  2. Oct 2, 2026گوگل چند وقت پیش ax رو معرفی کرد که اُپن سورسه ولی کم دیدم در موردش حرف زده بشه. مشکل kube…
  3. Oct 2, 2026الان Open Dots معرفی شد؛ همون قابلیت‌ها، با یک‌دهم هزینه! شرکن OpenAI همین دیروز Dot رو بر…
  4. Oct 2, 2026مخزن Traycer: مرکز فرماندهی برای کدنویسی ایجنت‌هایی که داری (Claude Code، Codex، Cursor و.…
  5. Oct 2, 2026🚀 کمپین «شروع امن» VulnCity شروع شد! خیلی از استارتاپ‌ها و شرکت‌های کوچیک، نیاز به امنیت…
  6. Oct 2, 2026Post #13409
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →