再次迁移特定表 laravel

Posted

技术标签:

【中文标题】再次迁移特定表 laravel【英文标题】:Again Migrate a specific table laravel 【发布时间】:2019-04-09 10:38:21 【问题描述】:

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

【问题讨论】:

how can i run specific migration in laravel的可能重复 Laravel 5.4 Specific Table Migration的可能重复 您可以使用其他迁移权限更改表吗? 【参考方案1】:

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

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

php artisan migrate:refresh

【讨论】:

【参考方案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 migrate:rollback

这里只有批值为 2 的表会被回滚。现在对该表进行更改并运行以下控制台命令。

php 工匠迁移

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

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

希望你能理解。

【讨论】:

以上是关于再次迁移特定表 laravel的主要内容,如果未能解决你的问题,请参考以下文章

Rails 创建没有迁移的表

Laravel 迁移:删除特定表

Laravel 迁移:使用 artisan 命令删除特定表并删除迁移文件

如何运行意外删除表的特定迁移

特定表迁移laravel中的错误

如何迁移:在 laravel 5 中回滚特定表