📜  Laravel迁移命令(1)

📅  最后修改于: 2023-12-03 14:43:51.446000             🧑  作者: Mango

Laravel迁移命令

在Laravel中,迁移是一种用于修改数据库架构的强大工具。使用迁移命令可以创建、修改和删除数据库表。接下来,我们将介绍Laravel中的迁移命令。

什么是迁移?

迁移是一种代码驱动的方式,用于管理数据库模式。它允许您在不丢失数据的情况下,更改数据库的结构。Laravel使用迁移文件(migration)。迁移文件包含了创建和修改表的指令,它们可以被执行和回滚。在Laravel中,您可以使用Artisan命令行工具来管理迁移。

创建迁移文件

要创建一个新的迁移文件,你可以使用make:migration Artisan命令。以下是命令的语法:

php artisan make:migration create_users_table

这个命令将创建一个名为create_users_table的迁移文件,并且会放置到database/migrations目录下。你可以在迁移文件中添加修改表的指令,如下所示:

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}

up方法中,我们使用了Schema类的create方法创建了一个名为users的表,并定义了该表需要的列和其它选项。在down方法中,我们简单地删除了这个表,以便我们可以回滚迁移。

执行迁移

要执行迁移,使用migrate Artisan命令。以下是命令的语法:

php artisan migrate

这个命令将运行database/migrations目录下的所有尚未存在的迁移。执行迁移时,Laravel会自动跟踪哪些迁移文件已经被执行过,以便它可以正确地回滚它们。

回滚迁移

要回滚执行的迁移,使用migrate:rollback Artisan命令。这个命令将撤回上一次迁移。以下是命令的语法:

php artisan migrate:rollback

如果你想回滚更多的迁移,你可以使用migrate:rollback命令,并通过--step选项传递一个数字来指定要回滚的迁移数量。

php artisan migrate:rollback --step=3

这个命令将回滚最近的3个迁移。

重新运行迁移

如果你想撤销所有的迁移,并重新运行它们,可以使用migrate:refresh Artisan命令。以下是命令的语法:

php artisan migrate:refresh

这个命令将回滚所有的迁移,并重新创建它们。

回滚和重新运行迁移

如果你想一次回滚并重新运行所有的迁移,可以使用migrate:reset Artisan命令。以下是命令的语法:

php artisan migrate:reset

这个命令将回滚所有的迁移,但不会重建它们。如果你想一次回滚并重新运行所有的迁移,可以在命令行中运行以下两个命令:

php artisan migrate:reset
php artisan migrate

这将在一个步骤中回滚所有迁移并重新运行它们。

总结

迁移是Laravel中管理数据库架构的强大工具。使用迁移,你可以在不丢失数据的情况下更改数据库的结构。在Laravel中,你可以使用make:migration命令创建新的迁移文件,使用migrate命令执行迁移,使用migrate:rollback命令回滚迁移,使用migrate:refresh命令重置迁移,使用migrate:reset命令回滚所有迁移。