From 8bdc3ec35acc65215bce217eac2bd862340cab82 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Sun, 23 Jan 2011 13:37:33 +0100 Subject: [PATCH] db: Alter the import tables to avoid a mysql bug. --- .../20110123210746_alter_string_colums.rb | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 db/migrate/20110123210746_alter_string_colums.rb diff --git a/db/migrate/20110123210746_alter_string_colums.rb b/db/migrate/20110123210746_alter_string_colums.rb new file mode 100644 index 000000000..895c98438 --- /dev/null +++ b/db/migrate/20110123210746_alter_string_colums.rb @@ -0,0 +1,37 @@ +class AlterStringColumns < ActiveRecord::Migration + # This alters the tables to avoid a mysql bug + # See http://bugs.joindiaspora.com/issues/835 + def self.up + remove_index :profiles, :column => [:first_name, :searchable] + remove_index :profiles, :column => [:last_name, :searchable] + remove_index :profiles, :column => [:first_name, :last_name, :searchable] + change_column(:profiles, :first_name, :string, :limit => 127) + change_column(:profiles, :last_name, :string, :limit => 127) + add_index :profiles, [:first_name, :searchable] + add_index :profiles, [:last_name, :searchable] + add_index :profiles, [:first_name, :last_name, :searchable] + + remove_index :mongo_notifications, :column => [:target_type, :target_mongo_id] + change_column(:mongo_notifications, :target_type, :string, :limit => 127) + change_column(:mongo_notifications, :target_mongo_id, :string, :limit => 127) + add_index :mongo_notifications, [:target_type, :target_mongo_id] + + remove_index :mongo_profiles, :column => [:first_name, :searchable] + remove_index :mongo_profiles, :column => [:last_name, :searchable] + remove_index :mongo_profiles, :column => [:first_name, :last_name, :searchable] + change_column(:mongo_profiles, :first_name, :string, :limit => 127) + change_column(:mongo_profiles, :last_name, :string, :limit => 127) + add_index :mongo_profiles, [:first_name, :searchable] + add_index :mongo_profiles, [:last_name, :searchable] + add_index :mongo_profiles, [:first_name, :last_name, :searchable] + + remove_index :mongo_requests, :column => :sender_mongo_id + remove_index :mongo_requests, :column => :recipient_mongo_id + remove_index :mongo_requests, :column => [:sender_mongo_id, :recipient_mongo_id] + change_column(:mongo_requests, :sender_mongo_id, :string, :limit => 127) + change_column(:mongo_requests, :recipient_mongo_id, :string, :limit => 127) + add_index :mongo_requests, :sender_mongo_id + add_index :mongo_requests, :recipient_mongo_id + add_index :mongo_requests, [:sender_mongo_id, :recipient_mongo_id], :unique => true + end +end