Laravel如何创建和运行数据库迁移?(Migration详解)

admin 百科 12
Laravel数据库迁移是管理结构变更的核心机制,通过Artisan命令创建带时间戳的迁移文件,用up()和down()方法实现可逆操作,仅处理结构变更,运行用migrate命令,回滚用migrate:rollback。

Laravel如何创建和运行数据库迁移?(Migration详解)-第1张图片-佛山资讯网

在 Laravel 中,数据库迁移(Migration)是管理数据库结构变更的核心机制,它让团队协作和环境部署更安全、可追溯。创建和运行迁移其实不复杂,但关键在于理解它的设计逻辑和常见用法。

如何创建一个迁移文件

Laravel 提供 Artisan 命令快速生成迁移文件,文件会自动存放在 database/migrations/ 目录下,并带时间戳前缀,确保执行顺序。

  • 创建一张新表:运行 php artisan make:migration create_users_table,Laravel 会生成类似 2024_05_10_123456_create_users_table.php 的文件
  • 为已有表添加字段:用 php artisan make:migration add_email_to_users_table,文件名体现意图,便于后续识别
  • 如果想指定表名或字段,可以加 --create=posts--table=users 参数,命令会自动填充基础结构

迁移文件里写什么

每个迁移类包含两个核心方法:up() 定义“升级”操作(如建表、加字段),down() 定义“回滚”操作(如删表、删字段),必须一一对应,保证可逆性。

  • up() 中使用 Schema 构建器定义结构,比如 Schema::create('posts', function (Blueprint $table) { $table->id(); $table->string('title'); $table->timestamps(); });
  • down() 一般直接删表:Schema::dropIfExists('posts');;如果是修改字段,需用 dropColumn()renameColumn() 等明确操作
  • 不要在迁移中写业务逻辑或大量数据操作,迁移只管结构。数据填充用 Seeder,不是 Migration

如何运行和回滚迁移

迁移文件写好后,用 Artisan 命令触发实际的数据库变更:

标签: mysql php laravel ai 开发环境

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~