Migration.Net en Unit Testing
En este post de Hammet, descubrà Migration.Net, y luego en este post de Ben quien nos deja una buena comparación sobre los distintos frameworks de Migration.
Por necesidad (la madre de la inventiva -según un amigo) me và obligado a encontrarle una solución similar a la que estoy acostumbrado a usar con NHibernate, quien se encarga de Crear y Borrar el esquema de la base durante la corrida de los test de unidad.
Migration.Net ofrece una manera muy facil para crear y dropear tablas en nuestra base usando una semántica intuitiva:
La definición de las migraciones se hace de manera similar como se hace con Migration, el cambio no está aqui.
SchemaBuilder (que no es otra cosa más que un pequeño wrapper a Migrator.Net) se encarga de crear/eliminar tablas usando la sintaxis using (de C#/VB.Net) para hacerlo de una manera más intuitiva y sin preocupaciones de olvidarnos de hacer el Dispose al final. Algo asÃ:
En el “new” de SchemaBuilder se lanza el Up de los migrators, y en el Dispose se lanza el Down. Simple no ?