我正在研究laravel应用程序。数据库表中的微小变化会导致新的迁移。有什么方法可以只在laravel中的表上重新迁移。
答案 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)