如何迁移:刷新数据库中的特定表?



我想迁移:刷新一个名为分数的特定表。我试过这个:

php artisan migrate:refresh --path=/database/migrations/scores

但它没有说要迁移。

如果单个迁移不是最后一个迁移,则无法刷新该迁移,但可以step迁移链中。

假设您有五个迁移,并且您的表位于第四位,您可以这样做:

php artisan migrate:refresh --step=2

使用此命令刷新最后两个迁移。

请注意,每个迁移文件名都包含一个时间戳,允许Laravel确定迁移的顺序。

您可以使用--path参数,但它应该是命令搜索迁移而不是单个迁移文件的目录。

如果运行:

php artisan help migrate:refresh

您可以看到接受的所有参数。

是的,您可以使用指定迁移路径来执行此操作。

请按照以下步骤操作:

首先要创建迁移,请使用make:migration命令:

php artisan make:migration create_scores1_table
php artisan make:migration create_scores2_table
php artisan make:migration create_scores3_table

新迁移将放置在数据库/迁移目录中。每个迁移文件名都包含一个时间戳,如下所示:

2019_09_04_045427_create_scores1_table.php 
2019_09_04_045500_create_scores2_table.php 
2019_09_04_045518_create_scores3_table.php

现在,您要refresh一个特定的表(例如:scores2表(,因此可以像这样使用:

php artisan migrate:refresh --path=database/migrations/2019_09_04_045500_create_scores2_table.php 

它只刷新scores2表,而不是刷新表的所有其余部分

是的,您可以迁移:刷新选定的迁移。您从代码行中遗漏了.php扩展。

它应该看起来像这个例子

php artisan migrate:refresh --path=/database/migrations/2020_09_28_224702_create_addresses_table.php

因此,如果分数是迁移文件名,请添加.php

php artisan migrate:refresh --path=/database/migrations/scores

最新更新