📜  larqavel 迁移 (1)

📅  最后修改于: 2023-12-03 15:02:39.467000             🧑  作者: Mango

Laravel 迁移

Laravel 是一种流行的 PHP Web 框架,其迁移功能使开发者能够轻松地在 Web 应用程序中管理数据库模式。在本文中,我们将介绍 Laravel 迁移的基本知识,包括定义迁移、运行迁移和撤消迁移。

定义迁移

Laravel 迁移本质上是维护数据库模式的迭代式更改。使用 Laravel 迁移,你可以轻松地添加、修改或删除数据库表、索引和列等元素。要定义一个新迁移,请使用 make:migration Artisan 命令:

php artisan make:migration create_users_table --create=users

此命令会在 database/migrations 目录下创建一个新的迁移文件,其中包含一个 up 方法和一个 down 方法。up 方法将包含实际的数据库模式更改,而 down 方法将用于撤消这些更改。

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 方法创建了一个名为 users 的新表,其中包含 idnameemailemail_verified_atpasswordremember_tokentimestamps 列。

运行迁移

在定义迁移后,使用 migrate Artisan 命令将这些更改应用到数据库中:

php artisan migrate

此命令将运行 up 方法中包含的所有数据库模式更改。要查看应用了哪些迁移,请使用 migrate:status 命令:

php artisan migrate:status

该命令将显示未应用(“down”)和已应用(“up”)的迁移。

撤消迁移

如果需要撤消迁移,则可以使用 rollback Artisan 命令:

php artisan migrate:rollback

该命令将撤消上一批迁移。“down” 方法中包含的逆向更改也将被应用。

如果需要彻底回到起点并清空所有数据库表,则可以使用 reset 命令:

php artisan migrate:reset
结论

Laravel 迁移是维护数据库模式的一种简单而强大的工具。在创建和修改表、索引和列等元素时使用迁移,可以保证数据库维护的一致性和可维护性。