چرا از این columnها از نوع timestamps استفاده کرده مگه نگفتیم این از ی جای به بعد مشکل داره بهتر است از نوعdateTime استفاده کنیم ؟؟؟
سلام.
دقیقه چند ویدیو؟
محسن موحد۱۳ بهمن ۱۴۰۰، ۱۶:۰۲
خود لاراول از این نوع برای اون دوتا فیلد created_at و updated_atاستفاده کرده !!!
Arezoo74kh۱۴ بهمن ۱۴۰۰، ۰۶:۳۲
متوجه سؤالتون نمیشم.
محسن موحد۱۴ بهمن ۱۴۰۰، ۰۷:۴۱
نگا کنید لاراول میاد برای هر جدول خودش به طور اتومات این دوتا فیلدرو created_at و updated_at اضافه میکنه دیگه
ولی چرا نوعش رو timestamps گذاشته در حالی که باید استاد تو ویدیوها میگن که این اشکال داره بهتره از نوع datetime در نظرش بگیریم نگا کنید مثلا برای این جدول
Arezoo74kh۱۴ بهمن ۱۴۰۰، ۰۹:۲۲
سلام سرکار خانم اروز
دیتا تایپ Timestamp در مواقعی که ما میخوایم از دیتابیس بکاپ بگیریم و اون رو در جای دیگه import کنیم چالش هایی رو ایجاد میکنه که واقعا خسته کننده و در برخی موارد غیر ممکن هستش اللخصوص زمانی که اطلاعات اصلی هم داخلش باشه . برای همین موضوع پیشنهاد میشه که از این دیتا تایپ فقط در مواقع خاص استفاده بشه .
محمد نقلانی۱۴ بهمن ۱۴۰۰، ۱۰:۵۹
نکته ی اول رنج تایم TIMESTAMP به این شکله:
1970-01-01 00:00:01 UTC to 2038-01-19 03:14:07 UTC
در این محدوده زمانی قرار میگیره.
نکته دوم TIMESTAMP براساس منطقه زمانی سرور هست، با جابجایی سرور روی داده تغییر ایجاد میشه.
محسن موحد۱۴ بهمن ۱۴۰۰، ۱۱:۵۰
بله من هم این این توضیحاتی که دادین کاملا به همین موارد سوال پرسیدم که چرا لاراول خودش میا اینا رو TIMESTAMP قرار میده سوالم اینه دیگه چون وقتی ما یک جدول مایگریت میکنیم خودش به طور خودکار این موارد رو در متد upمیاره
$table->timestamps();
خب مگه لاراول از این مشکل خبر نداره که اومده از نوع TIMESTAMP در نظر گرفته
Arezoo74kh۱۴ بهمن ۱۴۰۰، ۱۶:۳۲
اگر گوگل کنید timestapm vs datetime میبینید هر کدومشون عیب هایی دارن مهم اینه کدوم موردش واسه شما اهمیت بالایی داشته باشه.
این نیست که هیچکس timestamp استفاده نکنه.
در حال حاضر بهترین مدل برای تایم گرفتن timestamp زمان جاریست(منظور تایمی که بصورت integer هست) و گذاشتن اون داخل یک فیلد BIGINT در دیتابیس هست.