Я создал таблицу в Laravel со стандартными столбцами даты и времени:
Schema::create('lists', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->string('ref');
$table->string('provider');
$table->timestamps();
$table->softDeletes();
$table->unique(['provider', 'ref']);
});
Когда я пытаюсь создать простую запись с помощью Eloquent:
List::updateOrCreate([
'provider' => 'test',
'ref' => 'S4d3g'
], [
'name' => 'Plan'
]);
Я с учетом этого сообщения (которое является необработанным выводом консоли, поэтому игнорируйте отсутствие кавычек):
SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '2020-03-08 02:25:07' for column 'updated_at' at row 1 (SQL: insert into `lists` (`provider`, `ref`, `name`, `updated_at`, `created_at`) values (test, S4d3g, Plan, 2020-03-08 02:25:07, 2020-03-08 02:25:07))
Выполнение запроса к базе данных вручную, так как raw SQL также не работает:
insert into `lists` (`provider`, `ref`, `name`, `updated_at`, `created_at`) values ('test', 'S4d3g', 'Plan', '2020-03-08 02:25:07', '2020-03-08 02:25:07')
Я использую MySQL 5.7.
Необъяснимым образом, если я изменяю дату на что-то, кроме 2 утра, это работает:
insert into `lists` (`provider`, `ref`, `name`, `updated_at`, `created_at`) values ('test', 'S4d3g', 'Plan', '2020-03-08 01:25:07', '2020-03-08 01:25:07')
insert into `lists` (`provider`, `ref`, `name`, `updated_at`, `created_at`) values ('test', 'S4d3g', 'Plan', '2020-03-08 03:25:07', '2020-03-08 03:25:07')
Что может быть причиной эта странная MySQL нелюбовь к уровню 2:00 на отметке времени?