2015-11-02 3 views
1

создал новую миграцию db-рельсов для переименования набора столбцов, включая один с blob-форматом. при выполнении миграции следующая ошибка происходит и миграция отменяется:Перемещение рельсов и переименование столбца blob (sqlite)

SQLite3::SQLException: unrecognized token: "'Salted__��v�/JB���*}�]��+Ai��x��w=9yǚ�... 

миграция:

... 
rename_column :users, :private_key, :encrypted_private_key 
... 

, насколько я знаю, когда столбец переименовывается, есть временная таблица создана. мне кажется, что возникает проблема при создании этой временной таблицы.

Есть ли способ переименовать столбцы blob?

Rails 4.2.0, 4.2.0 ActiveRecord

+0

Вместо AR, обрабатывающая миграцию .. в вашем файле миграции поместите это в свой метод вверх: выполните «изменить пользователя таблицы» изменить private_key encrypted_private_key varchar (255) « –

ответ

0

Проверить эту ссылку хорошо объяснил

Renaming column

В случае, если вам необходимо изменить формат таблицы:

rails g migration ChangeFormatInTablenameColumnname 

class ChangeFormatInUsersAdmin < ActiveRecord::Migration 
    def change 
    change_column :users(tablename), :admin(columnname), :boolean(type), default: false 
    end 
end 
+0

thx для ссылки, но он не объясняет, как обрабатывать поля blob. Как описано в моем сообщении, мне ясно, как написать миграцию для переименования столбца. – user1727870

Смежные вопросы