个性化阅读
专注于IT技术分析

Laravel迁移结构

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

让我们了解迁移结构。

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

Laravel迁移结构

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

第2步:双击该课程, 将带我进入扩展迁移的特定课程。

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

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

$ table-> string(’name’):这意味着$ table实现了string()方法, 该方法在users表中创建name列。

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

$ table-> timestamp(’email_verified_at’)-> nullable():这意味着$ table实现timestamp()方法, 该方法在users表中创建email_verified_at列。此函数还会创建两列, 即created_at和updated_at, 并且在添加或更新新记录时会自动更新这两个字段。

down()方法的代码如下:

Schema::dropIfExists('users');

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

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

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

  • 打开phpmyadmin, 它在xampp中可用。
Laravel迁移结构
  • 单击选项卡中出现的数据库。
  • 输入数据库名称, 然后单击创建按钮。
Laravel迁移结构
  • 单击创建按钮后, 我们可以看到在面板的左侧创建了laravel_cms。
Laravel迁移结构
  • 打开.env文件, 并添加在上一步中添加的数据库名称。
Laravel迁移结构

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

  • 打开Git Bash窗口, 然后输入命令“ php artisan migration”。该命令的输出显示在以下屏幕截图中:
Laravel迁移结构

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

  • 下面的屏幕截图显示了phpmyadmin中的迁移表。
Laravel迁移结构
  • 下面的屏幕快照显示了“用户”表的结构。
Laravel迁移结构

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


赞(0)
未经允许不得转载:srcmini » Laravel迁移结构

评论 抢沙发

评论前必须登录!