这是一个种子与迁移的问题(与可能存在的任何其他选择相比!)
假设我们有一个表'submission_types',它永远不能被应用程序本身修改。例如,这些类型可以表示“视频”、“图像”、“音频”。此数据对于将视频、图像或音频文件正确运行和假设提交到站点是必需的。
这个数据的插入位置在哪里,因为它必须在应用程序运行时出现(无论开发/生产环境如何)?你应该用拉氏播种机吗?-在我看来,他们正准备用测试数据加载你的数据库。。。还是应该使用迁移?-似乎人们建议让插入远离迁移。(或者手动插入数据。。。当然不是)。要重新迭代,这个数据必须在所有情况下都存在,并且不会被任何业务逻辑修改,永远-这是静态数据。
This question似乎有关联。
PS:在将来,您可能希望向表中添加更多类型,因此通过迁移执行此操作似乎。。。不太理想?

最佳答案

你和我的思维方式不必在上面的编程方式上达成一致!
也许你想在休息20分钟后再考虑这个问题,我想说的是,这个问题很好,但同时你不认为你是在思考问题而不是在思考问题吗?
只需在以下场景中:
应用程序无法更改强制值:
这意味着它们应该内置在你的应用程序中或是你的应用程序的一部分,所以我们所说的config,可以用一个单独的文件来解决,该文件包含你的强制值数组,这些值可能是半动态的,有几行你的技能代码。
应用程序在引导时存储强制值,或者像往常一样以DB形式存储:
在这种情况下,你可以使用种子来做,迁移和种子是建立来帮助你脚手架你的应用程序,然后填补它,完全可以使用种子这样的目的,即使在迁移你可以这样做,我个人使用它与简单的管理员用户,我喜欢创建,很可能是为了测试的目的。但你可以做到。
底线是,你是一个程序员,你的应用程序必须有0件事作为你的强制性。这是你的孩子,如果你面对的是强制性的价值观,那么就有什么不对劲,或者你是在思考现状。
我很尊重你,所以请你用正确的方式来理解,否则我会重新理解你,解释更多!
干杯伙计!

10-01 03:15
查看更多