# 修复安装脚本缺失 `personal_access_tokens` 表
## 1。问题描述
在一键安装完成后,登录后台时出现以下错误:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'database.personal_access_tokens' doesn't exist
## 2。原因分析
`personal_access_tokens` 是 Laravel Sanctum 用于管理 API 令牌的表。`install.php` 在创建数据表时遗漏了这张表,导致 Sanctum 无法正常工作。
## 3。解决方案
在 `public/install.php` 的建表代码块中添加 `personal_access_tokens` 表的创建语句。
## 4。修改详情
**文件**:`public/install.php`
**位置**:创建表的代码块中,在 `users` 表之后
**新增代码**:
```sql
CREATE TABLE IF NOT EXISTS `personal_access_tokens` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
`tokenable_type` varchar(255) NOT NULL,
`tokenable_id` bigint unsigned NOT NULL,
`name` varchar(255) NOT NULL,
`token` varchar(64) NOT NULL UNIQUE,
`abilities` text,
`last_used_at` timestamp NULL,
`expires_at` timestamp NULL,
`created_at` timestamp NULL,
`updated_at` timestamp NULL,
INDEX `personal_access_tokens_tokenable_type_tokenable_id_index` (`tokenable_type`, `tokenable_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
```
## 5。验证结果
| 验证项 | 预期结果 | 实际结果 |
|--------|---------|---------|
| 安装完成后 | `personal_access_tokens` 表存在 | ✅ |
| 登录后台 | 正常登录,无报错 | ✅ |
## 6。提交记录
git add public/install.php
git commit -m "fix(install): 补全 personal_access_tokens 表"
git push origin main