Laravel 마이그레이션에서 현재 타임스탬프를 타임스탬프 열의 기본값으로 설정
Q: Laravel 마이그레이션에서 타임스탬프 열을 어떻게 구성할 수 있나요? 값에 따라 자체적으로 업데이트되는 옵션을 사용하여 현재 타임스탬프를 기본값으로 설정 변경하시겠습니까?
A: Laravel의 Schema Builder는 이를 달성하기 위한 간단한 방법을 제공합니다.
$table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP')); $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
DB::raw는 원시 표현식을 생성하는 데 사용되며 CURRENT_TIMESTAMP를 기본값으로 설정할 수 있습니다. 이 솔루션은 다양한 데이터베이스 드라이버에서 효과적으로 작동합니다.
Laravel의 향상된 기능:
$table->timestamp('created_at')->useCurrent();
$table->timestamp('updated_at')->useCurrent()->useCurrentOnUpdate();
주의 사항:
MySQL(5.7 이상):
타임스탬프 열에 유효한 기본값을 할당해야 합니다. 유효하지 않은 날짜(예: 0000-00-00 00:00:00)로 인한 잠재적인 문제를 방지합니다. useCurrent()를 사용하거나 열을 null 허용으로 만드세요.
Laravel 4.x를 사용하는 PostgreSQL:
위 내용은 Laravel 마이그레이션에서 기본 타임스탬프 및 자동 업데이트 타임스탬프를 설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!