Puede que sea una rareza mía, pero me gusta tener bien definidas las foreign keys en mis aplicaciones. Con Ruby on Rails no es algo completamente necesario, ya que Rails puede ocuparse de todo esto sin que tengamos que tocar la base de datos, pero a mi ver, es mejor que la base de datos haga lo que tiene que hacer.

El problema hasta ahora era que definir las foreign keys en una aplicación Rails era un poco engorroso. Había dos opciones: crear un fichero SQL con el código que creara las foreign keys, o crear unas migrations. La solución óptima desde luego serían las migrations, pero las migrations de Rails no nos proveen de ningún helper que nos ayude a crear las foreign keys de una forma rápida.

Aquí es donde aparece la gem protagonista del día, foreigner. Foreigner nos provee de helpers para poder crear nuestras foreign keys de una forma simple en nuestras migrations. Funciona con las bases de datos más utilizadas, MySQL, PostgreSQL y SQLite. Foreigner nos ofrece un método add_foreign_key y un método remove_foreign_key, que hacen justo lo que esperamos, crear una foreign key y eliminarla.

Con esto podemos definir nuestras foreign keys de una forma "bonita" en nuestras migrations sin ninguna complicación.

Enlace: Foreigner

Tags: Rails Db Gems

Publicado por Rubén el 20/01/2013 a las 21:12



Publicar comentario: