Laravel通过Migration实现数据库版本控制,使用Artisan命令如make:migration创建迁移文件,在up()中定义表结构、字段类型与索引,down()用于回滚;通过migrate执行迁移,支持fresh、refresh、rollback等操作管理变更,结合Schema构建器可安全修改表结构,提升团队协作效率。
Laravel 的数据库迁移(Migration)功能让你能够以代码的形式管理数据库结构,实现团队协作中的数据库版本控制。通过 Artisan 命令行工具,你可以轻松创建、修改和回滚数据表。以下是 Laravel 数据库迁移的常用写法与命令汇总,帮助你高效管理项目数据库。
使用 Artisan 命令生成新的迁移文件:
执行后会在 database/migrations 目录下生成带时间戳的 PHP 文件,包含 up() 和 down() 方法。
在迁移文件的 up() 方法中使用 Schema 构建器来定义表结构:
Schema::create('users', function (Blueprint $table) {
$table->id(); // 自增主键
$table->string('name'); // 字符串字段
$table->string('email')->unique(); // 唯一索引
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps(); // 创建 created_at 和 updated_at
});
常见字段类型:
添加索引:
添加外键约束:
$table->foreignId('user_id')->constrained()->onDelete('cascade');
将迁移文件同步到数据库:
若需为已存在的表添加字段或修改结构,先创建迁移:
php artisan make:migration add_avatar_to_users_table --table=users然后在 up() 中使用 table() 方法:
Schema::table('users', f
unction (Blueprint $table) {
$table->string('avatar')->nullable();
});
记得在 down() 中移除该字段以支持回滚:
$table->dropColumn('avatar');
基本上就这些。掌握这些命令和写法,你就能高效地用 Laravel 管理数据库结构变更,避免手动操作出错,提升开发效率。
# php
# 数据库
# 主键
# 让你
# 你可以
# 就能
# 已有
# 会在
# 而不
# 创建一个
# 命令行
# database
# table
# word
# laravel
# cad
# 工具
# ai
# sql
# String
# Integer
# Boolean
# 字符串
# 移除