Avoiding migration problems with plugins using acts-as-taggable-on
Added by Harry Garrood over 11 years ago
Say you want to install two Redmine plugins which both use the acts-as-taggable-on
gem. Unfortunately, they will both try to create the same two tables in the database: "tags", and "taggings".
Plugin developers can use a number of workarounds:
- Ask users to do
rails g acts_as_taggable_on:migration && rake db:migrate
-- but then, doingrake redmine:plugins:migrate NAME=foo VERSION=0
won't drop the tables when they uninstall it. - Do
rails g acts_as_taggable_on:migration
during development and check the resultant file in -- but then, uninstalling the plugin when other plugins are still using those tables will delete their data!
I don't like compromises, so I've come up with a better solution. It's at https://github.com/hdgarrood/redmine_acts_as_taggable_on (there's a more detailed introduction over there), and it's super easy to set up.
It will work best if as many plugins as possible use it. So, Redmine plugin developers, I implore you: Please update your plugins to use this gem!
:)