091_change_changesets_revision_to_string.rb
32 lines
| 1.4 KiB
| text/x-ruby
|
RubyLexer
|
r1222 | class ChangeChangesetsRevisionToString < ActiveRecord::Migration | ||
def self.up | ||||
|
r10907 | # Some backends (eg. SQLServer 2012) do not support changing the type | ||
# of an indexed column so the index needs to be dropped first | ||||
# BUT this index is renamed with some backends (at least SQLite3) for | ||||
# some (unknown) reasons, thus we check for the other name as well | ||||
# so we don't end up with 2 identical indexes | ||||
if index_exists? :changesets, [:repository_id, :revision], :name => :changesets_repos_rev | ||||
remove_index :changesets, :name => :changesets_repos_rev | ||||
end | ||||
if index_exists? :changesets, [:repository_id, :revision], :name => :altered_changesets_repos_rev | ||||
remove_index :changesets, :name => :altered_changesets_repos_rev | ||||
end | ||||
|
r1222 | change_column :changesets, :revision, :string, :null => false | ||
|
r10907 | |||
|
r10867 | add_index :changesets, [:repository_id, :revision], :unique => true, :name => :changesets_repos_rev | ||
|
r1222 | end | ||
def self.down | ||||
|
r10907 | if index_exists? :changesets, :changesets_repos_rev | ||
remove_index :changesets, :name => :changesets_repos_rev | ||||
end | ||||
if index_exists? :changesets, [:repository_id, :revision], :name => :altered_changesets_repos_rev | ||||
remove_index :changesets, :name => :altered_changesets_repos_rev | ||||
end | ||||
|
r1222 | change_column :changesets, :revision, :integer, :null => false | ||
|
r10907 | |||
|
r10867 | add_index :changesets, [:repository_id, :revision], :unique => true, :name => :changesets_repos_rev | ||
|
r1222 | end | ||
end | ||||