【发布时间】:2019-01-09 21:57:44
【问题描述】:
这个问题困扰了我一段时间,对 Google 来说似乎是一个棘手的问题。
我正在寻找最好的(或至少是体面的)方法来保持我的代码、我的数据库结构和数据库数据彼此同步。我目前正在使用 Laravel 5,它为我提供了迁移和种子。第一个非常适合数据库结构更改。后者似乎还可以,但不考虑时间。
所以我有几个月前设置的这个 laravel 安装。它有 20 张桌子和一些种子文件。 现在我重命名了现有表结构中的一列。
当我从头开始我的 Laravel 站点时,我显然首先运行迁移,否则根本不会有表。之后,我运行我的种子并在更改列的插入查询中失败。
问题出现了:播种机不应该依赖于迁移吗?还是应该在更改数据库结构时更改所有种子?必须有更好的方法,我错过了什么吗?这应该怎么做?
【问题讨论】:
-
在更改表/迁移中的列名时必须完成一些手动工作,我在这里没有看到问题。对您的迁移和所有相关的其他部分进行更改(不仅是播种机,还有您的模型/工厂......需要反映更改),确保一切正常,将其推送到您的 VCS 并完成。
-
典型的“相关”问题比我自己的搜索结果好很多。 stackoverflow.com/questions/21580088/… anwser 我的问题是:不要使用种子,而是用于测试数据。