我不确定这样做的“正确”方式,所以我想问社区。可能是一个简单的问题。
我有一个文件“dbutils.rb”,我希望它自动包含在运行“rake db:migrate”时可用,而不是将它放在application.rb中,而不是将它放在每个db迁移中。< / p>
我会在哪里提出要求实现这一目标?
答案 0 :(得分:3)
Rails在$rails_rake_task = true
任务中定义:environment
。
当你运行:environment
时,它总是会再次加载:migrate
任务(它也被加载用于其他Rake任务)。当require "dbutils"
为$rails_rake_task
时,您可以使用此选项将true
添加到您的environment.rb。并以其他方式跳过加载。
另一个选项是像fl00r建议的自定义Rake任务。