type rails column ruby-on-rails ruby-on-rails-5 rake

ruby on rails - column - rails db: migrate vs rake db: migrate



type column rails (1)

Soy nuevo en los rieles. Noté que al generar la migración de datos en rails 5, algunas personas usan rails db:migrate over rake db:migrate . ¿Alguien puede explicar la diferencia entre el comando rails vs rake en la migración de la base de datos? ¿Significa que el comando rastrillo está obsoleto en rails 5?

muchas gracias


El equipo central de Rails decidió tener consistencia al habilitar el comando rails para admitir todo lo que hace rake.

Por ejemplo, en Rails 5, los comandos como db: migrate, setup, test, etc., que forman parte del comando rake en Rails 4, ahora son compatibles con el comando rails. Sin embargo, todavía puede elegir usar rake para ejecutar esos comandos de forma similar a como se ejecutaron en Rails 4. Esto se debe a que la comunidad Rails ha introducido Rake Proxy en lugar de mover completamente las opciones de comando de rake a rails.

Lo que sucede internamente es que cuando se ejecuta el comando rails db: migrate, Rails comprueba si db: migrate es algo que rails admite de forma nativa o no. En este caso, db: migrate no es compatible de forma nativa con rails, por lo que Rails delega la ejecución a Rake a través de Rake Proxy.

Si desea ver todos los comandos admitidos por rails en Rails 5, puede obtener una larga lista de opciones ejecutando rails --help.