拉拉维尔 |迁移基础
在 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