Могу ли я заставить красноречивую модель created_at использовать unix_timestamp() для времени сервера БД для борьбы с дрейфом времени

#eloquent #laravel-8

#eloquent #laravel-8

Вопрос:

Мне нравится хранить свои временные метки в виде значений эпохи, поэтому в моей модели я использую:

protected $dateFormat = 'U';

и в моих миграциях я использую:

 $table->unsignedInteger('created_at');
$table->unsignedInteger('updated_at');
  

На одном сервере с включенными PHP и DB это дает желаемый результат.

Но при этом используются локальные часы, и при масштабированной установке с несколькими «интерфейсными» серверами приложений все подключаются к одному «серверному» серверу базы данных, если какие-либо из часов интерфейсного сервера начинают дрейфовать, я увижу записи в БД, где (автоматическое увеличение) id показывает одинпорядок вставки, но created_at отображение другого порядка. Это не то, что я хочу.

С MySQL в качестве БД я пытаюсь найти способ created_at использовать функцию MySQL unix_timestamp() , чтобы использовались часы на сервере базы данных.

Возможно ли это вообще?