📅  最后修改于: 2023-12-03 15:02:39.467000             🧑  作者: Mango
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
的新表,其中包含 id
、name
、email
、email_verified_at
、password
、remember_token
和 timestamps
列。
在定义迁移后,使用 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 迁移是维护数据库模式的一种简单而强大的工具。在创建和修改表、索引和列等元素时使用迁移,可以保证数据库维护的一致性和可维护性。