summaryrefslogtreecommitdiffstats
path: root/db
diff options
context:
space:
mode:
Diffstat (limited to 'db')
-rw-r--r--db/migrate/20120223110929_change_attachments_container_defaults.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/db/migrate/20120223110929_change_attachments_container_defaults.rb b/db/migrate/20120223110929_change_attachments_container_defaults.rb
index 39af099f8..f959f4c33 100644
--- a/db/migrate/20120223110929_change_attachments_container_defaults.rb
+++ b/db/migrate/20120223110929_change_attachments_container_defaults.rb
@@ -1,13 +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