namespace :cms do
desc "Adjust custom Forms max size in the Database" task :adjust_max_size => :environment do columns = ::Form::Row.columns.map(&:name).grep(/^column_\d+/) size_was = columns.size size = RailsAdminCMS::Config.custom_form_max_size if size < size_was (size_was - size).times.each.with_index(1) do |_, i| ActiveRecord::Base.connection.remove_column :form_rows, :"column_#{size_was - i}" end elsif size > size_was (size - size_was).times.each.with_index(size_was) do |_, i| ActiveRecord::Base.connection.add_column :form_rows, :"column_#{i}", :text end end end
end