Lor*_*rti 5 database-migration laravel
在我的应用程序中,使用 Laravel 5.1 构建,我有一个分支开发。
我必须实现 2 个新功能,所以我创建了第一个分支(从 dev 开始),需要 2 个表(因此新的迁移),然后,当我完成它时,我创建了第二个分支(从 dev 开始),而且这个功能还需要一个不同的表所以新的迁移。
所以我的情况是这样的:
branch 1 -> migration1
branch 2 -> migration2, migration3
Run Code Online (Sandbox Code Playgroud)
但现在我需要更改(许多列)与branch1相关的表,所以我应该回滚迁移,因为我不会为更改进行新的迁移,但我会回滚迁移并重新创建。
但我现在的问题是,如果我返回branch1并尝试执行以下操作:
php artisan:migrate rollback
Run Code Online (Sandbox Code Playgroud)
最新的迁移(在我的数据库上)是branch2(migration2、migration3)的表,而不是与branch1(migration1)相关的表。
那么管理多个分支机构之间迁移的正确方法是什么?
当我在较大的项目中创建新分支时。例如,当开始重构时。我创建数据库的副本,并使用分支名称为该副本添加前缀。当切换回当前的主分支或生产分支以进行快速错误修复时,这可以节省许多麻烦,...这样您就永远不会遇到问题中描述的任何迁移冲突。
切换分支时,我更新.env数据库名称并清除应用程序的缓存。这样,Laravel 开始使用与您的应用程序/迁移所处状态相对应的数据库。
php artisan config:cache
php artisan config:clear
php artisan cache:clear
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1825 次 |
| 最近记录: |