Laravel 迁移结构

Laravel 迁移结构

如我们所知,迁移是Laravel中的一个重要功能,它帮助我们以有序的方式在数据库中创建表。有序的意思是,如果我们运行php artisan命令的类将创建包含所有字段和列的表。

让我们来了解迁移结构。

步骤1: 移动到 C:\xampp\htdocs\laravelproject\database\migrations 目录。

Laravel 迁移结构

上面的截图显示我们已经打开了 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_atupdated_at ,当添加或更新新记录时,这两个字段会自动更新。

下面是down()方法的代码:

Schema::dropIfExists('users');

在上面的代码中,我们看到down()方法通过使用Schema类调用dropIfExists(‘users’)函数。该函数检查’ users ‘表是否存在,如果’ users ‘存在,则删除users表。

注意: 到目前为止,我们已经了解了默认情况下或只是蓝图创建的表。但是,我们还可以根据应用程序的功能自己创建表。

要运行上述代码,请按照以下步骤执行:

  • 打开 phpmyadmin ,它在 xampp 中可用。

Laravel 迁移结构

  • 点击选项卡中出现的 Databases (数据库).
  • 输入数据库名称,然后点击 create(创建) 按钮.

Laravel 迁移结构

  • 点击 创建 按钮后,我们可以看到 laravel_cms 被创建在面板的左侧。

Laravel 迁移结构

  • 打开 .env 文件并添加之前步骤中添加的数据库名称。

Laravel 迁移结构

使用上面截图中显示的名称来更新数据库的名称。

  • 打开Git Bash窗口,并输入命令” php artisan migrate “。该命令的输出如下截图所示:

Laravel 迁移结构

上面的屏幕截图显示已经创建了迁移表。

  • 下面的屏幕截图显示了phpmyadmin中的迁移表。

Laravel 迁移结构

  • 下面的截图显示了 ‘ users ‘ 表的结构。

Laravel 迁移结构

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程