annotate db/migrate/091_change_changesets_revision_to_string.rb @ 1298:4f746d8966dd redmine_2.3_integration

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