Permite suscribirse a cualquier cosa suscribible (tematicas, hilos, news general... ¿etiquetas, usuarios?)
Una migración no funciona si se lanza en el root del engine:
> rails g migration add_suscribir_id_to_redirections suscribir_id:integer
=> script/rails:8:in 'require': cannot load such file -- rails/engine/commands (LoadError)
=> from script/rails:8:in 'main>'
Hay que lanzarla en dummy:
> cd test/dummy
> rails g migration add_suscribir_id_to_redirections suscribir_id:integer
=> invoke active_record
=> create db/migrate/20130626151549_add_suscribir_id_to_redirections.rb
> mv db/migrate/20130626151549_add_suscribir_id_to_redirections.rb ../../db/migrate/
> rake db:migrate
Luego, habrá que importar las migraciones a la app principal que vaya a usar el engine:
> rnk
> rake suscribir:install:migrations
> rdbp
OJO: Si tenemos el database.yml apuntando a la misma BD (que no deberíamos), el rake db:migrate
de la app fallará porque "el campo ya existe", habrá que ajustarlo a mano... FAIL.
> bundle config local.suscribir ../suscribir
> bundle config --delete local.suscribir
Cuando el cambio ya está mergeado en master
, es hora de incrementar el contador de versiones para hacer la subida. En lib/suscribir/version.rb
:
module Suscribir
VERSION = "6.0.0"
end
En changelog.txt
, se comentan las características que se han añadido en esta versión.
En la línea de comandos, desde el directorio del engine:
> git commit -m "Cambio de version"
> git push origin
> rake release
Una vez esta creado el tag de la nueva versión, vamos a las aplicaciones principales y editamos la línea del Gemfile:
gem 'suscribir', git: "https://github.com/Soluciones/suscribir.git", tag: '6.0.0'
Y lanzamos bundle update --source suscribir
para que actualice a la nueva versión.