To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

Statistics Download as Zip
| Branch: | Tag: | Revision:

root / db / migrate / 091_change_changesets_revision_to_string.rb @ 1298:4f746d8966dd

History | View | Annotate | Download (1.42 KB)

1 0:513646585e45 Chris
class ChangeChangesetsRevisionToString < ActiveRecord::Migration
2
  def self.up
3 1295:622f24f53b42 Chris
    # Some backends (eg. SQLServer 2012) do not support changing the type
4
    # of an indexed column so the index needs to be dropped first
5
    # BUT this index is renamed with some backends (at least SQLite3) for
6
    # some (unknown) reasons, thus we check for the other name as well
7
    # so we don't end up with 2 identical indexes
8
    if index_exists? :changesets, [:repository_id, :revision], :name => :changesets_repos_rev
9
      remove_index  :changesets, :name => :changesets_repos_rev
10
    end
11
    if index_exists? :changesets, [:repository_id, :revision], :name => :altered_changesets_repos_rev
12
      remove_index  :changesets, :name => :altered_changesets_repos_rev
13
    end
14
15 0:513646585e45 Chris
    change_column :changesets, :revision, :string, :null => false
16 1295:622f24f53b42 Chris
17
    add_index :changesets, [:repository_id, :revision], :unique => true, :name => :changesets_repos_rev
18 0:513646585e45 Chris
  end
19
20
  def self.down
21 1295:622f24f53b42 Chris
    if index_exists? :changesets, :changesets_repos_rev
22
      remove_index  :changesets, :name => :changesets_repos_rev
23
    end
24
    if index_exists? :changesets, [:repository_id, :revision], :name => :altered_changesets_repos_rev
25
      remove_index  :changesets, :name => :altered_changesets_repos_rev
26
    end
27
28 0:513646585e45 Chris
    change_column :changesets, :revision, :integer, :null => false
29 1295:622f24f53b42 Chris
30
    add_index :changesets, [:repository_id, :revision], :unique => true, :name => :changesets_repos_rev
31 0:513646585e45 Chris
  end
32
end