Laravel 迁移结构
如我们所知,迁移是Laravel中的一个重要功能,它帮助我们以有序的方式在数据库中创建表。有序的意思是,如果我们运行php artisan命令的类将创建包含所有字段和列的表。
让我们来了解迁移结构。
步骤1: 移动到 C:\xampp\htdocs\laravelproject\database\migrations 目录。
上面的截图显示我们已经打开了 migrations 文件夹,其中包含两个PHP文件。这些文件是类文件。文件的名称是 2014_10_12_000000_create_users_table ,其中 2014_10_12_000000 代表时间, create_users_table 不代表表的名称而是迁移的名称。
步骤2: 双击该类,将带我进入扩展了 Migration 的特定类。
<?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() 方法和 down() 方法。up()方法用于在数据库中创建新表、添加新列或索引,而down()方法则是up()方法的相反操作,即删除这些字段。上述类主要是在数据库中创建表。up()方法通过使用 Schema 类运行静态方法create()。
public function up()
{
Schema::create('users',function(Blueprint $table)
{
//
});
}
在上面的 up() 方法的语法中,Schema是一个类,’create’是 Schema 类的静态函数。create()方法包含两个参数,即表的名称和闭包函数。’users’是表的名称和闭包函数,其中传递了 Blueprint 类及其对象作为参数。$table用于在users表中创建列。
$table->bigIncrements('id')
: 它表示 $table 正在实现increments()方法,该方法在users表中创建了id列,并且该’id’为自动递增的。
$table->string('name')
: 它表示 $table 正在实现string()方法,该方法在users表中创建了name列。
$table->string('email')->unique()
: 它表示 $table 正在实现string()方法,该方法在users表中创建了email列。它还实现了unique()函数,这意味着email必须是唯一的。
$table->timestamp('email_verified_at')->nullable()
: 它表示$table正在实现timestamp()方法,该方法在users表中创建了email_verified_at列。此函数还创建了两个列,即 created_at 和 updated_at ,当添加或更新新记录时,这两个字段会自动更新。
下面是down()方法的代码:
Schema::dropIfExists('users');
在上面的代码中,我们看到down()方法通过使用Schema类调用dropIfExists(‘users’)函数。该函数检查’ users ‘表是否存在,如果’ users ‘存在,则删除users表。
注意: 到目前为止,我们已经了解了默认情况下或只是蓝图创建的表。但是,我们还可以根据应用程序的功能自己创建表。
要运行上述代码,请按照以下步骤执行:
- 打开 phpmyadmin ,它在 xampp 中可用。
- 点击选项卡中出现的 Databases (数据库).
- 输入数据库名称,然后点击 create(创建) 按钮.
- 点击 创建 按钮后,我们可以看到 laravel_cms 被创建在面板的左侧。
- 打开 .env 文件并添加之前步骤中添加的数据库名称。
使用上面截图中显示的名称来更新数据库的名称。
- 打开Git Bash窗口,并输入命令” php artisan migrate “。该命令的输出如下截图所示:
上面的屏幕截图显示已经创建了迁移表。
- 下面的屏幕截图显示了phpmyadmin中的迁移表。
- 下面的截图显示了 ‘ users ‘ 表的结构。