执行 laravel 数据库迁移需先配置 .env 中数据库连接参数并清空配置缓存,再运行 php artisan migrate;若数据库不存在须手动创建,迁移仅操作已有库内的表。

执行 Laravel 数据库迁移命令,核心是使用 Artisan 命令行工具运行 migrate。前提是已正确配置数据库连接,并且迁移文件已存在(通常在 database/migrations/ 目录下)。
确保 .env 中数据库配置正确
检查项目根目录下的 .env 文件,确保以下字段填写无误:
-
DB_CONNECTION=mysql(或其他驱动,如pgsql、sqlite) -
DB_HOST=127.0.0.1 -
DB_PORT=3306 -
DB_DATABASE=your_database_name -
DB_USERNAME=your_db_user -
DB_PASSWORD=your_db_password
⚠️ 修改后需清空配置缓存(尤其在生产环境或改过配置后):
php artisan config:clear
运行基础迁移命令
在项目根目录终端中执行:
php artisan migrate
该命令会按时间戳顺序执行所有未迁移的迁移文件,创建对应数据表。
常用补充操作
-
回滚上一次迁移(撤销最近一次
migrate):php artisan migrate:rollback
-
回滚全部迁移再重跑(慎用,会清空所有迁移表结构):
php artisan migrate:reset && php artisan migrate
-
只运行某一个迁移文件(指定路径):
php artisan migrate --path=database/migrations/2024_01_01_000000_create_posts_table.php
-
查看当前迁移状态(哪些已运行、哪些待运行):
php artisan migrate:status
首次运行提示“Database does not exist”?
说明 .env 中的 DB_DATABASE 指定的数据库尚未手动创建。需先通过 MySQL 客户端或命令行创建:
CREATE DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Laravel 不会自动创建数据库,仅操作已有库内的表。
不复杂但容易忽略。











