我按照 https://jetstream.laravel.com/installation.html 的说明安装 Laravel Jetstream。
我运行 artisan jetstream:install 并选择安装 Livewire 支持、API 支持、电子邮件验证和 PHPUnit 支持。
然后我安装前端资产并设置 Laravel Sail。然后我运行以下命令:
sail artisan db:wipe
...并获得令人鼓舞的输出:
INFO Dropped all tables successfully.
...但是当我这样做时
sail artisan migrate
我看到这个输出:
INFO Preparing database.
Creating migration table ............................................................................. 24ms DONE
INFO Running migrations.
2014_10_12_000000_create_users_table ................................................................. 22ms DONE
2014_10_12_100000_create_password_reset_tokens_table ................................................. 27ms DONE
2014_10_12_200000_add_two_factor_columns_to_users_table ............................................... 9ms DONE
2019_08_19_000000_create_failed_jobs_table ........................................................... 20ms DONE
2019_12_14_000001_create_personal_access_tokens_table ................................................ 40ms DONE
2023_08_30_094442_create_sessions_table .............................................................. 46ms DONE
2023_08_30_094639_create_sessions_table ............................................................... 1ms FAIL
Illuminate\Database\QueryException
SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'sessions' already exists (Connection: mysql, SQL: create table `sessions` (`id` varchar(255) not null, `user_id` bigint unsigned null, `ip_address` varchar(45) null, `user_agent` text null, `payload` longtext not null, `last_activity` int not null) default character set utf8mb4 collate 'utf8mb4_unicode_ci')
at vendor/laravel/framework/src/Illuminate/Database/Connection.php:801
797▕ $this->getName(), $query, $this->prepareBindings($bindings), $e
798▕ );
799▕ }
800▕
➜ 801▕ throw new QueryException(
802▕ $this->getName(), $query, $this->prepareBindings($bindings), $e
803▕ );
804▕ }
805▕ }
+9 vendor frames
10 database/migrations/2023_08_30_094639_create_sessions_table.php:14
Illuminate\Support\Facades\Facade::__callStatic()
+24 vendor frames
35 artisan:35
Illuminate\Foundation\Console\Kernel::handle()
呃哦!有人知道我做错了什么吗?
(正如我所说,这是全新安装。我还没有触及 IDE 中的任何内容。)
您遇到的错误表明“sessions”表已存在于您的数据库中,并且当您运行“sail artisan migrate”命令时,Laravel 正在尝试再次创建它。如果在运行迁移之前未正确擦除数据库,则可能会出现此问题。
要解决此问题,请按照以下步骤操作:
DROP TABLE IF EXISTS sessions;
这将确保会话表从您的数据库中删除。
删除“sessions”表后,运行以下命令来擦除数据库:
sail artisan db:wipe
此命令应从数据库中删除所有表,包括会话表。
数据库被擦除后,您可以继续运行迁移:
sail artisan migrate
此命令现在应该执行迁移,而不会遇到与“sessions”表相关的任何问题。
通过手动删除“sessions”表,然后在再次运行迁移之前擦除数据库。我希望这能够解决您的问题。