📜  拉拉维尔 |迁移基础

📅  最后修改于: 2022-05-13 01:56:51.823000             🧑  作者: Mango

拉拉维尔 |迁移基础

在 Laravel 中,迁移提供了一种轻松共享数据库模式的方法。它还使模式的修改更加容易。这就像创建一个模式然后多次共享它。当您有多个表和列时,它会变得非常有用,因为它会减少手动创建表的工作量。

创建迁移:可以使用 artisan 命令创建,如下所示:

php artisan make:migration create_articles_table

在这里, articles将成为表,您可以编写任何其他您想要创建且适用于应用程序的表名来代替它,但是您看到的表名是复数形式。所以,它被写成文章而不是文章。这是 Laravel 使用的命名方案,根据 Laravel 中迁移文件的命名方案,在开头指定create并在结尾指定table很重要。

我们使用 artisan 命令创建的所有迁移文件都位于database/migrations目录中。因此,在我们运行上述命令后,它将生成一个PHP文件,其名称为我们指定的名称以及当前日期和时间。

该文件将使用一些预定义的类和函数创建,如下面的代码所示:

bigIncrements('id');
            $table->timestamps();
        });
    }
  
    public function down()
    {
        Schema::dropIfExists('articles');
    }
}

如果要指定的表名称与您指定为文件名的名称不同,则可以使用--create选项和以下命令:

php artisan make:migration create_articles_table --create=gfg

使用此命令, create()方法中包含的表名将是gfg而不是articles ,后者在文件名中指定。

bigIncrements('id');
            $table->timestamps();
        });
    }
    public function down()
    {
        Schema::dropIfExists('gfg');
    }
}

迁移的基本结构:迁移文件包含一个类,该类具有在创建迁移时指定的文件名,它扩展了Migration 。因为我们有两个函数,第一个是up()函数,第二个是down()函数。当我们运行迁移以创建指定的表和列时调用up (),当我们想要撤消创建“ up() ”函数时调用“ down() ”函数。

up()函数中,我们有Schema 门面(schema builder)create方法,正如我们之前所说,这个函数中的第一个参数是要创建的表的名称。第二个参数是一个以蓝图对象为参数并用于定义表格的函数。

在 down()函数中,我们有一个模式构建器的dropIfExists方法,调用该方法时将删除表。

运行迁移:在运行迁移之前,我们首先必须创建一个MySQL 数据库连接到它。完成后,要运行迁移,我们可以使用 Artisan 命令,如下所示:

php artisan migrate

此命令将运行迁移类文件中的up()函数,并将创建包含指定所有列的表。
注意:此命令将运行up()函数并为database/migrations目录中的所有迁移文件创建数据库中的所有表。

要回滚任何最后完成的迁移,我们可以使用以下 Artisan 命令:

php artisan migrate:rollback

此命令将运行迁移类文件中的down()函数。

参考: https://laravel.com/docs/6.x/migrations