Я сохраняю необработанное письмо в столбце TEXT в MySQL с помощью Ruby on Rails. Он продолжает усекаться до 65535 символов, кто-нибудь знает, что вызывает это?
MySQL работает с max_allowed_packet=64M
max_allowed_packet=64M
Использование InnoDB для механизма хранения.
Он усекается до этой длины, потому что ... ну, это то, что поместится в столбце TEXT .
Вам нужен MEDIUMTEXT или LONGTEXT, если вы хотите сохранить больше.
Ruby on Rails не усек, MySQL сделал.
Тип TEXT ограничен 2^16 - 1 = 65535 символами, см. Документацию .
2^16 - 1 = 65535
Я не эксперт по Ruby, но число 65535 привлекло мое внимание - это 16 бит (минус 1, что обычно является особенным). Вы, вероятно, наталкиваетесь на стену ограничения размера используемого вами типа.
65535 - это одно из этих «магических чисел» - это 2 ^ 16 - 1. Это максимальный предел для столбца TEXT в MySQL.