Laravel 마이그레이션을 사용하여 기본 타임스탬프 값 설정
Laravel Schema Builder는 데이터베이스 테이블을 생성하고 수정하는 편리한 방법을 제공합니다. 그러나 생성 및 업데이트 시 기본 타임스탬프 값을 현재 타임스탬프로 설정하는 데 문제가 발생하는 경우가 있습니다.
timestamps() 메서드
일반적으로 timestamps() 메서드는 Created_at 및 selected_at 타임스탬프 열을 자동으로 관리하는 데 사용됩니다. 하지만 이 방법은 기본값을 '0000-00-00 00:00:00'으로 설정합니다.
해결책: DB::raw() 및 useCurrent()
CURRENT_TIMESTAMP의 기본값을 설정하려면 다음을 사용하세요. DB::raw():
$table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
Laravel 5.1.25부터 useCurrent() 메소드를 사용할 수도 있습니다:
$table->timestamp('created_at')->useCurrent();
MySQL ON UPDATE 절
MySQL의 경우 다음을 사용하여 ON UPDATE 절을 지정할 수 있습니다. DB::raw():
$table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
Laravel 8.36.0부터 useCurrentOnUpdate()를 다음과 함께 사용할 수 있습니다. useCurrent():
$table->timestamp('updated_at')->useCurrent()->useCurrentOnUpdate();
문제점
위 내용은 Laravel 마이그레이션에서 기본 타임스탬프 값을 설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!