From db4427560f6fc205d1c656dacd94dad15aaa5d31 Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Fri, 17 Jan 2025 18:14:07 -0600 Subject: [PATCH] prefer "datetime" types over "timestamp" types "datetimes" are the better default choice for date related columns, and should be the recommended way from Laravel going forward - address 2038 issue - only 1 extra bye - internal binary storage for equal performance - ignorant of server/SQL timezone --- .../Database/Migrations/stubs/migration.create.stub | 2 +- src/Illuminate/Database/README.md | 2 +- src/Illuminate/Notifications/Console/stubs/notifications.stub | 4 ++-- src/Illuminate/Queue/Console/stubs/failed_jobs.stub | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Illuminate/Database/Migrations/stubs/migration.create.stub b/src/Illuminate/Database/Migrations/stubs/migration.create.stub index 168c62223679..ea2c6fb79754 100755 --- a/src/Illuminate/Database/Migrations/stubs/migration.create.stub +++ b/src/Illuminate/Database/Migrations/stubs/migration.create.stub @@ -13,7 +13,7 @@ return new class extends Migration { Schema::create('{{ table }}', function (Blueprint $table) { $table->id(); - $table->timestamps(); + $table->datetimes(); }); } diff --git a/src/Illuminate/Database/README.md b/src/Illuminate/Database/README.md index 9019936025b6..b99efde8afbd 100755 --- a/src/Illuminate/Database/README.md +++ b/src/Illuminate/Database/README.md @@ -54,7 +54,7 @@ $results = Capsule::select('select * from users where id = ?', [1]); Capsule::schema()->create('users', function ($table) { $table->increments('id'); $table->string('email')->unique(); - $table->timestamps(); + $table->datetimes(); }); ``` diff --git a/src/Illuminate/Notifications/Console/stubs/notifications.stub b/src/Illuminate/Notifications/Console/stubs/notifications.stub index d73803223d52..1f09ae55e0d8 100644 --- a/src/Illuminate/Notifications/Console/stubs/notifications.stub +++ b/src/Illuminate/Notifications/Console/stubs/notifications.stub @@ -16,8 +16,8 @@ return new class extends Migration $table->string('type'); $table->morphs('notifiable'); $table->text('data'); - $table->timestamp('read_at')->nullable(); - $table->timestamps(); + $table->dateTime('read_at')->nullable(); + $table->datetimes(); }); } diff --git a/src/Illuminate/Queue/Console/stubs/failed_jobs.stub b/src/Illuminate/Queue/Console/stubs/failed_jobs.stub index d81d903db991..a1a9d86298e0 100644 --- a/src/Illuminate/Queue/Console/stubs/failed_jobs.stub +++ b/src/Illuminate/Queue/Console/stubs/failed_jobs.stub @@ -18,7 +18,7 @@ return new class extends Migration $table->text('queue'); $table->longText('payload'); $table->longText('exception'); - $table->timestamp('failed_at')->useCurrent(); + $table->dateTime('failed_at')->useCurrent(); }); }