summaryrefslogtreecommitdiffstats
path: root/db/migrate/20120422150750_change_repositories_to_full_sti.rb
blob: f97d47cf180f73f13e1024e1ab9e6b4dd1b48334 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class ChangeRepositoriesToFullSti < ActiveRecord::Migration[4.2]
  def up
    Repository.connection.
         select_rows("SELECT id, type FROM #{Repository.table_name}").
         each do |repository_id, repository_type|
      unless /^Repository::/.match?(repository_type)
        Repository.where(["id = ?", repository_id]).
          update_all(["type = ?", "Repository::#{repository_type}"])
      end
    end
  end

  def down
    Repository.connection.
          select_rows("SELECT id, type FROM #{Repository.table_name}").
          each do |repository_id, repository_type|
      if repository_type =~ /^Repository::(.+)$/
        Repository.where(["id = ?", repository_id]).update_all(["type = ?", $1])
      end
    end
  end
end