¿Cuándo debería ejecutar migraciones en una request de extracción?

Perdón por una pregunta de novato: nueva para git y ruby ​​on rails.

Estoy en un equipo de encoding de la escuela escribiendo una aplicación en Rails. Una de las requestes de extracción tiene una nueva database, pero las migraciones no se han ejecutado (rake db: migrate).

¿Deberíamos ejecutar la migration en la twig primero y luego combinarla para dominar o fusionar a la maestra y luego hacer rake db: migrar en la twig principal?

Es una mejor práctica para:

  1. ejecutar rake db:migrate
  2. comprometerse con el repository

porque db:migrate db/schema.rb modifica su file db/schema.rb , que muestra el estado "actual" de la database. Es muy importante tener la última versión de este file en su repository.

También tenga en count el comentario en db/schema.rb :

 # It's strongly recommended to check this file into your version control system. 

De ahí el order recomendado arriba.

Si está revisando el trabajo de alguien (es decir, no es su pedido de extracción, pero dicen que está listo y es su trabajo fusionarlo), entonces debe verificar la sucursal y comprobar si las migraciones son correctas, porque si se fusiona con el maestro (y empújelo, para que todos puedan get la actualización) y las migraciones no están bien, entonces todos se sentirán frustrados debido a la twig maestra rota.

Es por eso que recomiendo consultar la sucursal, ejecutar migraciones, y luego combinar PR para el maestro y empujarlo hacia arriba.


Si es su request de extracción y está seguro de que todo está bien (o trabaja solo en el proyecto), entonces no hay un order específico: solo asegúrese de no olvidar todos los pasos (combinar y migrar).

Cuando lo hago yo mismo, normalmente ya he aplicado migraciones (porque las necesitaba para el trabajo en mi sucursal), por lo que suele ser el caso de ir a masterizar y fusionar la twig.

Siempre debe ejecutar sus migraciones antes de fusionarse con el maestro, ya que querrá saber si ese código funcionó correctamente y todo está bien. Recuerde que ejecutar una migration cambiará su file db / schema.rb y si algo es incorrecto, el server no se iniciará correctamente o algo fallará.

En cuanto a si ejecutar o no la migration antes de comprometerse con la sucursal, eso depende de lo que esté haciendo. Si es un equipo de encoding y necesita revisar el trabajo primero, continúe y comprométase, para que otros puedan verificar la twig y revisarla.

¿Por qué alguien abriría una request de extracción en una sucursal que tiene nuevas migraciones que aún no se han ejecutado? ¿Cómo sabe el autor de la request de extracción que las migraciones fueron escritas correctamente?

Si estuviera revisando la request de extracción, esperaría que se ejecutaran migraciones antes de fusionar la twig con la maestra. Además, asegúrese de que su schema.rb se está controlando con las migraciones.