Как можно удалить предел поля при миграции рельсов

Правильно ли следующее?

 change_column :tablename, :fieldname, :limit => null
48
задан simonmorley 27 December 2012 в 22:56
поделиться

2 ответа

Строки без ограничений не поддерживаются большинством баз данных: вы должны указать размер в определении varchar (SIZE) .
Хотя вы можете попробовать, я бы лично выбрал : limit => BIG_ENOUGH_NUMBER . Вы также можете рассмотреть возможность использования типа CLOB для очень больших текстов.

0
ответ дан 7 November 2019 в 12:10
поделиться

Чтобы сделать его независимым от db-драйвера, нужно написать что-то вроде этого:

add_column :tablename, :fieldname_tmp, :text
Tablename.reset_column_information
Tablename.update_all("fieldname_tmp = fieldname")
remove_column :tablename, :fieldname
rename_column :tablename, :fieldname_tmp, :fieldname
0
ответ дан 7 November 2019 в 12:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: