Как установить CURRENT_TIMESTAMP в качестве значения по умолчанию для столбца - PullRequest
0 голосов
/ 20 сентября 2019

Используя миграции laravel, я хочу установить CURRENT_TIMESTAMP в качестве значения по умолчанию для столбца созданного_at.

Я не знаю, была ли ошибка вызвана миграцией laravel с 5,7 до 6

Вот мой файл миграции:

Schema::create('activities', function (Blueprint $table) {

        $table->engine = 'InnoDB';
        $table->charset = 'utf8mb4';
        $table->collate = 'utf8mb4_unicode_ci';

        $table->bigIncrements('id')->unsigned();
        $table->unsignedInteger('user_id')->nullable()->index('idx_user_id');
        $table->string('ip', 50);
        $table->string('user_agent', 255);
        $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));

    });

И ошибка в консоли:

Doctrine \ DBAL \ Driver \ PDOException: :( "SQLSTATE [42000]: синтаксическая ошибка или доступнарушение: 1064 У вас есть ошибка в вашем синтаксисе SQL; обратитесь к руководству, соответствующему вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с '(CURRENT_TIMESTAMP)) набором символов по умолчанию utf8mb4 collate' utf8mb4_unicode_ci '' в строке 1 ")

Версия Mysql: 5.7.23

Версия PHP: 7.2.10

Версия Laravel: 6.0.2

...