--- /dev/null
+class AddUniqueIndexToIssueRelations < ActiveRecord::Migration\r
+ def self.up\r
+\r
+ # Remove duplicates\r
+ IssueRelation.connection.select_values("SELECT r.id FROM #{IssueRelation.table_name} r" +\r
+ " WHERE r.id > (SELECT min(r1.id) FROM #{IssueRelation.table_name} r1 WHERE r1.issue_from_id = r.issue_from_id AND r1.issue_to_id = r.issue_to_id)").each do |i|\r
+ IssueRelation.delete_all(["id = ?", i])\r
+ end\r
+\r
+ add_index :issue_relations, [:issue_from_id, :issue_to_id], :unique => true\r
+ end\r
+\r
+ def self.down\r
+ remove_index :issue_relations, :column => [:issue_from_id, :issue_to_id]\r
+ end\r
+end\r