Mercurial > hg > soundsoftware-site
view .svn/pristine/ee/ee907116a1e49c7f20d5b7f90baa8602bf514e4e.svn-base @ 1539:22d57b0e0a77 live
OK, this script works now, but it should be using the API
author | Chris Cannam <chris.cannam@soundsoftware.ac.uk> |
---|---|
date | Thu, 21 May 2015 17:31:06 +0100 |
parents | 038ba2d95de8 |
children |
line wrap: on
line source
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