📅  最后修改于: 2023-12-03 14:43:51.446000             🧑  作者: Mango
在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
命令回滚所有迁移。