Cómo Reiniciar Base de Datos PostgreSQL en Heroku

Cuando se trabaja en aplicaciones Ruby on Rails es muy frecuente ir agregando campos a las tablas o nuevas tablas cada tanto tiempo en las etapas iniciales de los proyectos.

A medida que se llega a un punto estable o con muchas características implementadas, se reduce la cantidad de migraciones a generar.

También ocurre que al estar en etapas tempranas nos sentimos con mayor libertad de destruir la base de datos para facilitar el añadir nuevos campos o porque hay mucha información inservible que complica correr migraciones nuevas.

SEGUIR LEYENDO

Popurrí de Jenkins

Cuando empecé mi carrera como desarrollador web ya en el mundo real, sabía muy poco sobre todo lo que el proceso de crear software conlleva. Todo era nuevo. Lo único que sabía era HTML, CSS, algo de JavaScript y algo de PHP.

En esos primeros años aprendí demasiado. Conocí Git, Rails, RSpec, Capistrano, Bash, Drupal, Linode, etc, etc. Si bien descubrí nuevas herramientas y tecnologías, me faltaban procesos.

Leer más “Popurrí de Jenkins”

BKT en Producción: Pre escalando Ruby

Una de las experiencias más gratificantes que puede vivir un desarrollador de software es ver su producto siendo usado por el público objetivo.

De nada sirve gastar meses y meses de trabajo en algo que nadie va a usar. Sí, queda la satisfacción de haber escrito una pieza de software, los aprendizajes del camino y la experiencia. Pero si no llega a usarse, es solo algo más.

Empecé a trabajar profesionalmente como desarrollador de software en el año 2012. El producto en el que trabajaba ocasionalmente tenía un número de usuarios decente, crecía poco a poco pero mi intervención era bastante escasa.

sigue leyendo

Heroku y Sentry, Habilitar metadata del Dyno

Heroku es una muy buena plataforma para montar aplicaciones casi que sin despeinarse. Su modo de operar es denominado PaaS, es decir, Plataforma como Servicio(en inglés Platform as a Service). Ser una PaaS quiere decir que al usuario le das lo más que se pueda desmenuzado y listo para usar.

A diferencia de AWS que es una IaaS(Infrastructure as a Service) en Heroku, generalmente, hacer despliegue de aplicaciones solo implica un comando y casi cero configuraciones.

Leer más “Heroku y Sentry, Habilitar metadata del Dyno”

¿Puede ActiveRecord::Relation recibir mensajes de métodos de clase? Sí

Ruby on Rails es una criatura enorme. Ofrece muchas funcionalidades y elementos que hacen fácil la vida de quien usa el framework bajo el nombre de magia. Magia que muchas veces no tenemos ni idea de cómo funciona.

Algunos podrán decir que esa magia es muy mala al ocultar cosas a quien desarrolla. Otros dirán que es buena justamente por lo mismo. En todo caso, siempre está la posibilidad de examinar el código fuente y ver cómo toda esa magia trabaja bajo cuerda.

Leer más “¿Puede ActiveRecord::Relation recibir mensajes de métodos de clase? Sí”

¿Cuál es la diferencia entre :destroy_all y :delete en Rails?

Una de las enseñanzas o instrucciones que se da cuando se diseñan bases de datos es que no debe haber información relacionada que no tenga su “dueño” o “padre”. Si un artículo tiene muchos comentarios y dicho artículo se elimina de la base de datos, tales comentarios también deben hacerlo.

En SQL a esto se le llama borrado en cascada. Para lograr esto en Rails usando ActiveRecord podemos usar la opción dependent y pasando algunas opciones disponibles. Leer más “¿Cuál es la diferencia entre :destroy_all y :delete en Rails?”

Tocando a ActiveRecord

Cuando se programan aplicaciones, puede haber ocasiones en donde queremos que un determinado objeto indiqué la última vez que fue actualizado según determinadas acciones o sucesos.

La última vez que se actualizó el repositorio, la última vez que se modificó un artículo publicado, la última vez que cambió el estado de la cuenta, etc. Son ejemplo de lo anterior.

En Rails, se puede lograr dicho comportamiento de dos formas. Depende de uno como programador determinar cual de las dos opciones es más adecuada(o incluso si se usan ambas). Leer más “Tocando a ActiveRecord”

Conferencias RailsConf para Compartir

Una de las mejores cosas de las comunidades open source es cuando la herramienta, lenguaje o técnica tiene tanta acogida que se crean eventos alrededor de esta. Tal es el caso del framework Ruby on Rails y su muy aclamada y bien acogida RailsConf.

Hoy, quiero aprovechar este espacio para compartir dos conferencias que he visto en YouTube que son bastante buenas. Una de ellas es sobre una herramienta que, al parecer, usan mucho los desarrolladores que usan Ruby o Ruby on Rails: Pry – The Good Parts! Leer más “Conferencias RailsConf para Compartir”

Cómo Usar el Método Includes() de ActiveRecord en Rails

Algo que tiende a frustrarme de algunas guías o documentación oficial es que solo dan el uso más básico a lo que explican. Pues, bueno, uno como desarrollador debe jugar con lo que hay para descubrir más opciones pero a veces no vendría mal un poco de ayuda en temas más complejos.

Mi insatisfacción estaba dada por la sección de las guías oficiales de Rails donde explican cómo evitar la consulta de tipo N+1. Este tipo de llamado a la base de datos ocurre como cuando por ejemplo queremos mostrar los Y valores que están relacionados con X tabla. Más preciso, a continuación. Leer más “Cómo Usar el Método Includes() de ActiveRecord en Rails”