Laravel 中创建迁移文件需使用 Artisan 命令:一、执行 php artisan make:migration create_users_table 生成带时间戳的迁移文件;二、加 --create=posts 自动生成 Schema::create() 结构;三、加 --table=users 生成 Schema::table() 框架;四、多单词表名自动转驼峰类名;五、可用 --path 自定义存放路径。

在 Laravel 中,创建迁移文件是定义数据库表结构变更的标准方式。以下是生成迁移文件的具体操作步骤:
一、使用 Artisan 命令生成迁移文件
Artisan 是 Laravel 内置的命令行工具,通过 migrate:make 命令可快速创建迁移文件,该文件将被存放在 database/migrations 目录下,并自动添加时间戳前缀以确保执行顺序。
1、打开终端并进入 Laravel 项目根目录。
2、执行命令:php artisan make:migration create_users_table。
3、检查 database/migrations 目录下是否生成了类似 2024_05_20_103045_create_users_table.php 的文件。
二、指定数据表名称并添加 --create 参数
当需要创建新数据表时,使用 --create 参数可让 Artisan 自动在迁移文件的 up() 方法中预填充 Schema::create() 结构,减少手动编写量。
1、运行命令:php artisan make:migration create_posts_table --create=posts。
2、打开生成的迁移文件,确认 up() 方法内已包含 Schema::create('posts', function (Blueprint $table) { ... }) 框架代码。
三、为已有数据表生成迁移文件并添加 --table 参数
若需为现有数据表添加字段或修改结构,应使用 --table 参数,此时 Artisan 将在 up() 方法中预置 Schema::table() 调用,便于后续追加列或索引。
1、执行命令:php artisan make:migration add_email_to_users_table --table=users。
2、检查生成文件中的 up() 方法,确认其起始行为 Schema::table('users', function (Blueprint $table) { ... })。
四、在迁移文件名中嵌入多单词表名
Laravel 支持使用下划线分隔的多单词命名方式,Artisan 会自动将其转换为驼峰格式用于类名,同时保持文件名语义清晰。
1、输入命令:php artisan make:migration create_password_resets_table。
2、观察生成的类名是否为 CreatePasswordResetsTable(首字母大写,移除下划线并采用驼峰)。
3、确认 migration 文件中 use 语句与类声明匹配,如 use Illuminate\Database\Migrations\Migration; 和 class CreatePasswordResetsTable extends Migration。
五、自定义迁移文件存放路径
默认情况下迁移文件位于 database/migrations,但可通过 --path 参数指定其他路径,适用于模块化项目中按功能分离迁移文件的场景。
1、创建目录:mkdir -p database/migrations/auth。
2、运行命令:php artisan make:migration create_roles_table --path=database/migrations/auth。
3、验证文件是否生成在 database/migrations/auth/ 目录下,且文件名含标准时间戳。











