在数据库迁移中

每次迁移都应该有 up() 方法和 down() 方法。up() 方法的目的是执行将数据库模式置于新状态所需的操作,down() 方法的目的是反转 up() 方法执行的任何操作。确保 down() 方法正确地反转你的操作对于能够回滚数据库模式更改至关重要。

示例迁移文件可能如下所示:

<?php

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

class AddLastLoggedInToUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->dateTime('last_logged_in')->nullable();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->dropColumn('last_logged_in');
        });
    }
}

运行此迁移时,Laravel 将生成以下 SQL 以针对你的数据库运行:

ALTER TABLE `users` ADD `last_logged_in` DATETIME NULL