📜  Laravel迁移结构

📅  最后修改于: 2021-01-05 10:47:21             🧑  作者: Mango

Laravel迁移结构

众所周知,迁移是Laravel中的一项重要功能,它有助于我们以有序模式在数据库中创建表。有序模式意味着如果我们有一个运行php artisan命令的类,则会创建具有所有字段和列的表。

让我们了解迁移结构。

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

上面的屏幕截图显示,我们已经打开了包含两个php文件的migrations文件夹。这些文件是类。该文件的名称为2014_10_12_000000_create_users_table ,其中2014_10_12_000000代表时间, create_users_table不代表表名,而是迁移的名称。

第2步:双击该类,这将带我进入扩展Migration的特定类。

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()方法包含两个参数,即表名和闭包函数。 “用户”是表和闭合函数的名称,其中Blueprint类及其对象作为参数传递。 $ table用于在users表中创建列。

$ table-> bigIncrements('id'):这意味着$ table正在实现增量()方法,该方法将在users表中创建id列,并且此id是自动递增的。

$ table-> 字符串('name'):这意味着$ table实现了字符串()方法,该方法正在users表中创建name列。

$ table-> 字符串('email')-> unique():这意味着$ table实现了字符串()方法,该方法在users表中创建email列。它还实现了unique()函数,这意味着电子邮件应该是唯一的。

$ 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表。

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

要运行上面的代码,请按照以下步骤操作:

  • 打开xampp中提供的phpmyadmin

  • 单击选项卡中出现的数据库。
  • 输入数据库名称,然后单击创建按钮。

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

  • 打开.env文件,并添加在上一步中添加的数据库名称。

用您创建的名称更新数据库名称,如上面的屏幕快照所示。

  • 打开Git Bash窗口并输入命令“ php artisan migration ”。下面的屏幕截图显示了该命令的输出:

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

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

  • 以下屏幕截图显示了“用户”表的结构。

上面的输出表明,在Git bash窗口中运行迁移后,已经创建了“ users”表。