📅  最后修改于: 2023-12-03 15:17:17.478000             🧑  作者: Mango
Laravel 迁移(Migration)是用于操作数据库表结构的工具。可以创建、修改、删除、重命名表以及表中的字段等。本文将介绍如何使用 Laravel 迁移。
使用以下命令创建 Laravel 项目:
composer create-project --prefer-dist laravel/laravel project-name
使用以下命令创建迁移:
php artisan make:migration create_users_table
上述命令将在 database/migrations
目录下创建一个新的迁移文件,用于创建 users
表。文件名类似于 2022_07_01_123456_create_users_table.php
。
迁移文件通常包含两个方法:up
和 down
。up
方法用于创建表和添加字段等,down
方法则是撤销 up
方法所做的更改。
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateUsersTable extends Migration
{
public function up()
{
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();
});
}
public function down()
{
Schema::dropIfExists('users');
}
}
在上面的例子中,我们使用了 Schema
类来创建 users
表并添加了一些字段。 Schema::create
方法接收表名和一个回调函数,该回调函数用于定义表结构。
使用以下命令来运行迁移:
php artisan migrate
上述命令将运行所有尚未运行的迁移文件。
如果需要回滚迁移,则可以使用以下命令:
php artisan migrate:rollback
这将撤销最后一次迁移。如果想要回滚到之前的一次迁移,则可以使用以下命令:
php artisan migrate:rollback --step=2
上述命令将回滚最近的两个迁移。
如果需要修改迁移文件,可以使用以下命令来创建一个新的迁移文件:
php artisan make:migration add_phone_number_to_users_table
上述命令将在 database/migrations
目录下创建一个新的迁移文件用于修改 users
表。
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddPhoneNumberToUsersTable extends Migration
{
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->string('phone_number')->after('email');
});
}
public function down()
{
Schema::table('users', function (Blueprint $table) {
$table->dropColumn('phone_number');
});
}
}
在上面的例子中,我们创建了一个新的迁移文件,用于给 users
表添加 phone_number
字段。 up
方法中我们使用了 Schema::table
方法进行修改,down
方法则进行相反的操作。
运行以下命令来执行新的迁移文件:
php artisan migrate
现在 users
表中应该已经添加了 phone_number
字段。
本文介绍了如何使用 Laravel 迁移来操作数据库表结构。如果您想深入了解更多信息,请查阅 官方文档。