我注意到我一直在做:
bundle exec script/console
<wait for console to load>
require migration
generate some data
很多......我想知道是否有办法在bash脚本或其他东西中使用这一切。所以我可以做./generatedata并让它运行上面的命令。
答案 0 :(得分:3)
我发现自定义rake任务是一个很棒的工具,当你需要在rails环境中运行代码的工作时。看看这个railscast http://railscasts.com/episodes/66-custom-rake-tasks
答案 1 :(得分:3)
如果要在控制台中运行一次性命令,可以使用rails runner
命令。因此,如果您有一个执行要在控制台中执行的ruby命令的./generatedata.rb脚本,则只需调用rails runner ./generatedata.rb
,它就会在rails环境中针对数据库运行ruby脚本。或者,您可以将shebang行添加到./generatedata.rb脚本:#!/usr/bin/env rails runner
。然后,您只需要执行./generatedata.rb脚本,它将自动使用rails runner
。