راکت

مشکل در مایگریشن

3 پاسخ

می خوام 2 فیلد جدید با مایگریشن زیر به جدول اضاف کنم.

    public function up()
    {
        Schema::table('categorys', function (Blueprint $table) {
            $table->timestamp('created_at');
            $table->timestamp('updated_at');
        });
    }

اخطار زیر رو می ده

 SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid default value for 'updated_at' (SQL: alter table `categorys` add `created_at` timestamp not null, add `updated_at` timestamp not null)
ثبت پرسش جدید

پاسخ‌ها

3
thrashzone13
thrashzone13
@thrashzone13

تخصص: PHP Laravel Developer

چون داخل جدول ها مقادیری از قبل داری که الان این دوتا ستون جدید براشون خالی میمونه در حالی که این دوتا ستون nullable نیستن.
اینو به کدت اضافه کن

    public function up()
    {
        Schema::table('categorys', function (Blueprint $table) {
            $table->timestamp('created_at')->nullable();
            $table->timestamp('updated_at')->nullable();
        });
    }
ابراهیم پرموته
ابراهیم پرموته
@parmoote007

خیلی ممنون

شاید پاسخ شما همین‌جا باشد

محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

یا باید nullable شون کنید و یا با دستور default() یک مقدار پیش فرض برای اون هایی که خالی هستند تنظیم کنید.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام