在Laravel中,强制性业务数据的插入应该放在哪里?

8 浏览
0 Comments

在Laravel中,强制性业务数据的插入应该放在哪里?

这是一个关于种子(seeds)和迁移(migrations)之间的问题(以及其他可能的替代方案!)\n假设我们有一个名为\"submission_types\"的表,这个表永远不会被应用程序本身修改。例如,这些类型可以代表\'video\'、\'image\'、\'audio\'。这些数据对于正确地提交视频、图片或音频文件到网站是必要的。\n这些数据应该放在哪里,因为它们在应用程序运行时必须存在(无论是开发环境还是生产环境)?应该使用Laravel的Seeders吗?- 在我看来,它们更适合用于加载测试数据到数据库...还是应该使用迁移(migrations)?- 似乎人们推荐将插入操作与迁移操作分开。(当然不可能手动插入数据...)再强调一下,这些数据必须始终存在,并且永远不会被任何业务逻辑修改-这些是静态数据。\n这个问题似乎与这个问题有关。\n附注:将来您可能希望在表中添加更多类型,所以通过迁移来完成这个过程似乎...并不理想?

0
0 Comments

在Laravel中,插入必需的业务数据的位置是个问题。下面是一些关于这个问题的原因和解决方法。

有时候,应用程序无法更改必需的值。这意味着它们应该内置在应用程序中,可以使用config来解决这个问题。你可以创建一个独立的文件,包含你的必需值的数组,并且可以使用一些简单的代码来使其半动态化。

另外一种情况是,应用程序在引导过程中或者像通常一样在数据库中存储必需的值。在这种情况下,你可以使用seeding来实现。迁移和种子是用来帮助你构建和填充应用程序的工具。可以在迁移中使用种子来插入必需的值。个人而言,我通常在种子中创建一个简单的管理员用户,用于测试目的。

总之,作为一个程序员,你的应用程序对你来说不应该有任何必需的东西。如果你遇到必需的值,那么我认为有些地方出了问题,或者你的思维方式有些守旧。

我尊重你,请用正确的方式理解我的观点,如果有需要,请解释更多!

干杯,伙计!

0