Commit a457fb6889c6c50ad92791ef013a4333034862fd

Authored by Antonio Terceiro
1 parent fbbb2470

Fix database upgrade with plugin promoted to base

When a system that has plugin X enabled gets upgraded to a version where
plugin X has been promoted to be a base plugins (i.e. a symlink in
baseplugins/), `rake db:migrate` would blow up with

  Multiple migrations have the version number 12345678901234

Note that we probably don't need to do this deduplication everywhere
else, because the Ruby $LOAD_PATH already works by giving prioriry to
the first path that is found.
Showing 1 changed file with 5 additions and 1 deletions   Show diff stats
lib/tasks/plugins.rake
@@ -7,7 +7,11 @@ namespace :noosfero do @@ -7,7 +7,11 @@ namespace :noosfero do
7 plugin_migration_dirs = Dir.glob(Rails.root.join('{baseplugins,config/plugins}', '*', 'db', 'migrate')) 7 plugin_migration_dirs = Dir.glob(Rails.root.join('{baseplugins,config/plugins}', '*', 'db', 'migrate'))
8 8
9 task :load_config do 9 task :load_config do
10 - dirs = Dir.glob("{baseplugins,config/plugins}/*/db/migrate") 10 + dirs = Dir.glob("{baseplugins,config/plugins}/*").uniq do |dir|
  11 + File.basename(dir)
  12 + end.map do |dir|
  13 + File.join(dir, 'db/migrate')
  14 + end
11 dirs.each do |dir| 15 dirs.each do |dir|
12 ActiveRecord::Migrator.migrations_paths << dir 16 ActiveRecord::Migrator.migrations_paths << dir
13 end 17 end