在数据库迁移中
每次迁移都应该有 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