diff db/migrate/20120223110929_change_attachments_container_defaults.rb @ 1115:433d4f72a19b redmine-2.2

Update to Redmine SVN revision 11137 on 2.2-stable branch
author Chris Cannam
date Mon, 07 Jan 2013 12:01:42 +0000
parents
children dffacf8a6908
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/migrate/20120223110929_change_attachments_container_defaults.rb	Mon Jan 07 12:01:42 2013 +0000
@@ -0,0 +1,25 @@
+class ChangeAttachmentsContainerDefaults < ActiveRecord::Migration
+  def self.up
+    # Need to drop the index otherwise the following error occurs in Rails 3.1.3:
+    #
+    # Index name 'temp_index_altered_attachments_on_container_id_and_container_type' on
+    # table 'altered_attachments' is too long; the limit is 64 characters
+    remove_index :attachments, [:container_id, :container_type]
+
+    change_column :attachments, :container_id, :integer, :default => nil, :null => true
+    change_column :attachments, :container_type, :string, :limit => 30, :default => nil, :null => true
+    Attachment.update_all "container_id = NULL", "container_id = 0"
+    Attachment.update_all "container_type = NULL", "container_type = ''"
+
+    add_index :attachments, [:container_id, :container_type]
+  end
+
+  def self.down
+    remove_index :attachments, [:container_id, :container_type]
+
+    change_column :attachments, :container_id, :integer, :default => 0, :null => false
+    change_column :attachments, :container_type, :string, :limit => 30, :default => "", :null => false
+
+    add_index :attachments, [:container_id, :container_type]
+  end
+end