dev 的修正 55cf6b8 將 CACHE_STORE 正確解析為 database,但 repo 未含 cache 表
migration。補上標準 Laravel cache 表(含 hasTable 防呆),確保各環境 pull 後
database 快取可用,避免 ProcessHeartbeat 的 Cache::put 因缺表崩潰。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
39 lines
1.1 KiB
PHP
39 lines
1.1 KiB
PHP
<?php
|
||
|
||
use Illuminate\Database\Migrations\Migration;
|
||
use Illuminate\Database\Schema\Blueprint;
|
||
use Illuminate\Support\Facades\Schema;
|
||
|
||
/**
|
||
* 建立 Laravel 標準 cache / cache_locks 表。
|
||
* 對應 dev 的修正 55cf6b8:CACHE_STORE=database 須有這兩張表,
|
||
* 否則 ProcessHeartbeat 等的 Cache::put 會因缺表而失敗。
|
||
*/
|
||
return new class extends Migration
|
||
{
|
||
public function up(): void
|
||
{
|
||
if (!Schema::hasTable('cache')) {
|
||
Schema::create('cache', function (Blueprint $table) {
|
||
$table->string('key')->primary();
|
||
$table->mediumText('value');
|
||
$table->integer('expiration');
|
||
});
|
||
}
|
||
|
||
if (!Schema::hasTable('cache_locks')) {
|
||
Schema::create('cache_locks', function (Blueprint $table) {
|
||
$table->string('key')->primary();
|
||
$table->string('owner');
|
||
$table->integer('expiration');
|
||
});
|
||
}
|
||
}
|
||
|
||
public function down(): void
|
||
{
|
||
Schema::dropIfExists('cache');
|
||
Schema::dropIfExists('cache_locks');
|
||
}
|
||
};
|