Así que una tarea de rake podría ser tu solución preferida. Está diseñada a propósito para la ejecución de scripts ad hoc. Aun así, la pondría en un plugin, ya que puedes gestionarla bien en GitHub y nunca olvidarás dónde la pusiste ni la borrarás accidentalmente.
Aquí tienes un montón de ejemplos: discourse/lib/tasks at 1472e47aae5bfdfb6fd9abfe89beb186c751f514 · discourse/discourse · GitHub