再次迁移特定表

时间:2018-11-06 02:40:08

标签: php laravel eloquent

我正在研究laravel应用程序。数据库表中的微小变化会导致新的迁移。有什么方法可以只在laravel中的表上重新迁移。

2 个答案:

答案 0 :(得分:2)

只需查看数据库中的迁移表,就会有一个迁移文件名和批号值的列表。

假设您具有以下结构,

id -----------------------------迁移-------------------- -------批次

1 ---------- 2014_10_12_000000_create_users_table ---------------- 1

2 ---------- 2014_10_12_100000_create_password_resets_table ------- 1

3 ---------- 2016_09_07_103432_create_tabel_roles ----------------- 1

如果只想回滚2016_09_07_103432_create_tabel_roles迁移,请将其迁移批处理值更改为2,这是所有迁移值中最高的,然后执行以下操作。

php artisan migration:rollback

此处仅回退批号为2的表。现在,对该表进行更改并运行以下控制台命令。

php artisan迁移

迁移表中的批处理值定义了迁移的顺序。回滚时,将首先回滚最新的或批处理价值最高的迁移,然后再回滚其他迁移。因此,您可以更改数据库中的值,然后回滚特定的迁移文件。

尽管由于表结构之间的关系,每次更改批号不是一个好主意,但在某些情况下,我们可以在单表回滚不违反表之间完整性的情况下使用这种情况。

希望您能理解

答案 1 :(得分:1)

您可以使用以下命令重新迁移所有表。

文档:https://laravel.com/docs/5.7/migrations

php artisan migrate:refresh