##// END OF EJS Templates
Check if index exists before removing it (#12713)....
Jean-Philippe Lang -
r10907:cc47ccb1c2a5
parent child
Show More
@@ -1,13 +1,32
1 class ChangeChangesetsRevisionToString < ActiveRecord::Migration
1 class ChangeChangesetsRevisionToString < ActiveRecord::Migration
2 def self.up
2 def self.up
3 remove_index :changesets, :name => :changesets_repos_rev
3 # 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
4 change_column :changesets, :revision, :string, :null => false
15 change_column :changesets, :revision, :string, :null => false
16
5 add_index :changesets, [:repository_id, :revision], :unique => true, :name => :changesets_repos_rev
17 add_index :changesets, [:repository_id, :revision], :unique => true, :name => :changesets_repos_rev
6 end
18 end
7
19
8 def self.down
20 def self.down
9 remove_index :changesets, :name => :changesets_repos_rev
21 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
10 change_column :changesets, :revision, :integer, :null => false
28 change_column :changesets, :revision, :integer, :null => false
29
11 add_index :changesets, [:repository_id, :revision], :unique => true, :name => :changesets_repos_rev
30 add_index :changesets, [:repository_id, :revision], :unique => true, :name => :changesets_repos_rev
12 end
31 end
13 end
32 end
General Comments 0
You need to be logged in to leave comments. Login now