namespace :‘paperclip_database_storage’ do

desc 'Copy necessary migrations from paperclip_database_storage to the rails project'
task :setup => :environment do
  plugin_root = File.dirname(File.dirname(File.dirname(__FILE__)))

  Dir[File.join(plugin_root, 'db', 'migrate', '*.rb')].each do |file|
    # First, check if the migration has already been copied
    if Dir[File.join('db', 'migrate', "*#{File.basename(file)}*")].any?
      puts "Migration #{File.basename(file)} has already been copied, skipping..."
    else
      dest_file = "#{Time.now.strftime('%Y%m%d%H%M%S')}_#{File.basename(file)}"
      dest_dir = File.join(Rails.root, 'db', 'migrate')

      puts "Copying #{File.basename(file)} to #{dest_file}"

      FileUtils.mkdir_p dest_dir
      FileUtils.cp(file, File.join(dest_dir, dest_file))        
    end
  end
end

end