diff options
Diffstat (limited to 'db/migrate/20140729152420_migrate_taggable_labels.rb')
-rw-r--r-- | db/migrate/20140729152420_migrate_taggable_labels.rb | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/db/migrate/20140729152420_migrate_taggable_labels.rb b/db/migrate/20140729152420_migrate_taggable_labels.rb deleted file mode 100644 index a8bf8022dfc..00000000000 --- a/db/migrate/20140729152420_migrate_taggable_labels.rb +++ /dev/null @@ -1,36 +0,0 @@ -# rubocop:disable all -class MigrateTaggableLabels < ActiveRecord::Migration[4.2] - def up - taggings = ActsAsTaggableOn::Tagging.where(taggable_type: ['Issue', 'MergeRequest'], context: 'labels') - taggings.find_each(batch_size: 500) do |tagging| - # Clean up orphaned taggings while we are here - if tagging.taggable.blank? || tagging.tag.nil? - tagging.destroy - print 'D' - next - end - create_label_from_tagging(tagging) - end - end - - def down - Label.destroy_all - LabelLink.destroy_all - end - - private - - def create_label_from_tagging(tagging) - target = tagging.taggable - label_name = tagging.tag.name - # '?', '&' and ',' are no longer allowed in label names so we remove them - label_name.tr!('?&,', '') - label = target.project.labels.find_or_create_by(title: label_name, color: Label::DEFAULT_COLOR) - - if label.valid? && LabelLink.create(label: label, target: target) - print '.' - else - print 'F' - end - end -end |