Rake es el equivalente a make para Ruby. Sirve para crear y automatizar tareas de mantenimiento. Estos son algunos de los comandos más útiles:
rake: sin parámetros reconstruye la base de datos de testing utilizando las migraciones y ejecuta todos los tests en el directorio test.
rake db:migrate: actualiza la base de datos. Con el parámetro VERSION=X, después del comando, la actualiza a la versión especificada, por ejemplo, rake db:migrate VERSION=3.
rake db:test:clone: copia la base de datos de desarrollo en la de testing para ejecutar los tests.
rake stats: muestra las estadísticas de nuestra aplicación.
+----------------------+-------+-------+---------+---------+-----+-------+
| Name | Lines | LOC | Classes | Methods | M/C | LOC/M |
+----------------------+-------+-------+---------+---------+-----+-------+
| Controllers | 7 | 3 | 1 | 0 | 0 | 0 |
| Helpers | 3 | 2 | 0 | 0 | 0 | 0 |
| Models | 44 | 27 | 4 | 1 | 0 | 25 |
| Libraries | 0 | 0 | 0 | 0 | 0 | 0 |
| Components | 0 | 0 | 0 | 0 | 0 | 0 |
| Integration tests | 0 | 0 | 0 | 0 | 0 | 0 |
| Functional tests | 0 | 0 | 0 | 0 | 0 | 0 |
| Unit tests | 82 | 63 | 4 | 6 | 1 | 8 |
+----------------------+-------+-------+---------+---------+-----+-------+
| Total | 136 | 95 | 9 | 7 | 0 | 11 |
+----------------------+-------+-------+---------+---------+-----+-------+
Code LOC: 32 Test LOC: 63 Code to Test Ratio: 1:2.0
rake doc:app: genera la documentación del proyecto basándose en RDoc (Lectura recomendada: Introducing RDoc ).
rake db:sessions:create: crea una tabla para almacenar sesiones de usuario mediate cookies. Útil para sistemas con autenticación.
rake db:sessions:clear: Cada sesión de usuario crea una nueva fila en la tabla de sesiones, por lo que es importante realizar limpiezas periódicas. Este comando vacía la tabla de sesiones.
rake log:clear: limpia los archivos de log de la aplicación. Conviene ejecutarlo periódicamente para evitar que los archivos ocupen demasiado espacio.
rake rails:freeze:gems: importante si queremos mantener nuestra aplicación "congelada", es decir, utilizar la versión de Rails que tenemos instalada actualmente en el sistema de manera que una actualización inesperada incompatible no rompa nuestro trabajo.
rake rails:unfreeze: descongela la aplicación abriéndola a actualizaciones.
rake rails:freeze:edge: para valientes. Copia el último código disponible del repositorio subversion de Rails -posiblemente inestable- y lo almacena en el directorio vendor/rails de la aplicación.
Fuentes: Ruby On Rails, Beginning Ruby On Rails for eCommerce Appress, 2006, Martin Fowler