忽略生产中的 rake 任务
我有一个 rake 任务来填充我的数据库,它依赖于 faker,所以顶部有:
require 'faker'
问题是我没有在生产中安装 faker,所以所有 rake 命令(如 db:migrate
) 在该 require 行上失败,表示缺少 faker。
显然我可以在生产中安装 faker 来解决这个问题,但我在那里不需要它。那么什么是正确的解决方案——我可以以某种方式忽略生产中的某些 rake 任务吗?
I have a rake task to populate my db which depends on faker, so at the top there's:
require 'faker'
The problem is I don't install faker in production so all rake commands (like db:migrate
) fail on that require line, saying faker is missing.
Obviously I could install faker in production to get around this, but I don't need it there. So what's the right solution -- can I somehow ignore certain rake tasks in production?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
将 require 语句移动到实际需要它的任务中。
Move the require statement into the task which actually needs it.
我想你可以做
require 'faker' 除非 RAILS_ENV='product'
I suppose you could just do
require 'faker' unless RAILS_ENV='production'