sequelize.js - Sequelize CLI:如何防止测试数据播种器在生产中运行?
问题描述
现在,我想建立一个仅应用于测试环境的播种机子集。
例如,在此屏幕截图中,我希望将直接在“播种机”下的播种器应用于所有环境,但将“测试”下的播种机仅应用于我的本地计算机的数据库。
Sequelize 中有没有办法为迁移和播种机建立不同的命名空间?
我希望能够运行这样的命令:
npx sequelize-cli db:seed --subset test
解决方案
Sequelize 不会具有环境意识。您可以在播种器中构建逻辑以检测环境并以不同的方式运行(坏主意),或者您可以为生产环境和测试环境设置单独的文件夹。我强烈建议测试环境运行所有的 prod 播种机,反之亦然。当您开始生产时,您希望拥有经过良好测试的产品播种机。实际上,我建议“stage”反映生产中发生的情况,以便 local/dev(feature) 运行额外的测试播种器,但 stage 和 prod 仅运行生产播种器。
有关一些具体想法,另请参阅此答案:使用 sequelize 的种子数据的不同目录
推荐阅读
- java - 在 docker 中运行的应用程序无法与 elasticsearch docker 连接
- html - 在网格布局中,使图像适合其包含单元格的高度
- ios - 仅将应用程序分发给我的客户并在已将我的应用程序上传到 Appstore 的情况下进行白标
- html - 如何为卡片组中的每个反应引导卡添加图像滑块
- html - 如何让 :before 标签显示在 ul 元素之上?
- ios - 如何在 Windows 10 中使用 Flutter 构建 iOS 应用程序
- javascript - 如何选择相同标签但不同类的多个元素?使用香草 JS
- javascript - 将 Code 标签内的代码复制到剪贴板 reactJS
- sas - SAS 宏:如何在一个数据集中记录 proc 表示输出?
- python-3.x - 比较熊猫数据框索引并更新行