【发布时间】:2020-12-01 15:58:57
【问题描述】:
我的推理,不感兴趣的可以跳到下面
我了解迁移的一般过程如何工作以及它们的用途,并且很高兴以预期的方式使用它们,即在整个应用程序生命周期中根据需要添加和删除字段。
我的疑问是,在项目开始时,我很少知道给定表中需要的许多字段,而在项目的早期阶段,我想设置主要功能和关系,并且也许只是在客户下定决心之前使用一些无用的字段。
底线是它伤害了我的强迫症,因为我知道那里有额外的迁移文件,可能看起来不像项目的 v1.0...一旦我在 v0.5,我可能会决定我已经足够远,可以开始正确管理迁移。
这是我的想法,但问题是:
在项目的早期阶段,在无需担心数据丢失或回滚的情况下,一次又一次地重复使用相同迁移脚本的最简洁步骤是什么。
只是补充一点,我不想刷新整个迁移,因为我真的更愿意保留我正在玩的任何数据,尤其是用于保持登录到后端等的用户表。
这样做会不会错:
我可以只删除表中的迁移行,然后运行迁移吗?
感觉这会产生副作用,并且可能会导致回滚,是这样吗?迁移表起什么作用,因为这似乎在实践中有效?
结束语
请记住,这只是我试图理解的一个概念。如果这是绝对不好的做法,我可以接受它!
【问题讨论】:
-
我个人会修改迁移文件,直到它达到我希望它在发布之前的位置。您可以使用
php artisan migrate:fresh从头开始运行所有迁移。但是,一旦发布,不得修改已经在生产中运行的迁移 -
很好,实际上我也想这样做直到发布 :) 做“迁移:新鲜”虽然丢失了所有行,据我所知,有时我想做的只是是添加一个字段,所以如果你明白我的意思,这似乎有点过头了。
-
您可以编写一个seeder 来使用要使用的测试数据填充您的数据库,然后使用
php artisan migrate:fresh --seed
标签: laravel database-migration