در ادامه طرح سوالات ابتدایی لاراول ، این پست رو منتشر میکنم 🙂
توی اولین مرحله که میخواید مایگریشن های لاراولیتونو ران کنید به این اررور احتمال داره بخورید :
[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid default value for 'created_at' (SQL: create table `
users` (`id` int unsigned not null auto_increment primary key, `name` varchar(255) not null, `email` varchar(255) n
ot null, `password` varchar(60) not null, `remember_token` varchar(100) null, `created_at` timestamp default 0 not
null, `updated_at` timestamp default 0 not null) default character set utf8 collate utf8_unicode_ci)
این خطا بخاطر اینه که مای اس کیو ال شما مقدار صفر رو بعنوان مقدار پیشفرض تاریخ قبول نمیکنه . احتمالا شما NO_ZERO_DATE
رو توی تنظیمات mysql
تون فعال کردید… اگه با ومپ کار میکنید به پوشه ی (مثلا) C:\wamp64\bin\mysql\mysql5.7.9
برید و فایل my.ini
رو باز کنید و مقادیر NO_ZERO_DATE,NO_ZERO_IN_DATE
, رو سرچ بزنید و حذف کنید و mysql
رو ریستارت کنید
الان همه چی حله… php artisan migrate
رو برای تست ران کنید.
سلام
من کاری که شما گفتید رو انجام دادم اما مشکل همچنان باقی ست. راه حل دیگری دارید؟
البته این مشکل برای من بخاطر فیلد created_at نیست و این فیلد تو مایگریت های قبلی به درستی ایجاد شده. بلکه بخاطر ایجاد یه فیلد دیگه ست با این دستور:
$table->timestamp(‘start’);
جسارتا کپچای سایتتون نفس گیره. برای من خیلی مهم بود این نظر رو ثبت کنم. قطعا اگر خیلی مهم نبود بی خیال می شدم