Для правильного вопроса надо знать половину ответа
Если посмотрите исходный текст (/usr/share/man/man1/...), то увидите, что между дублирующимися символами стоит код BS (\x08). Это пошло ещё от принтеров, когда жирный символ можно было получить вернувшись на один символ назад (BackSpace) и повторно его напечатав.
В консоли разные программы по разному обрабатывают этот символ, отсюда и такая разница в выводе.
Если касательно блока ввода текста новости - то проще всего к модели добавить TypeId, а потом хранить в БД таблицу NewsTypes с настройками в виде сериализованных данных (да хоть json).
Вообще пытаться хранить бизнес-логику с использованием структурных фич/полей БД - то еще веселье. Опыт у меня есть. Приводит это к тормозам и сложностям проверки/тестирования...
Возможно на начальном этапе будет проще описать бизнес логику в коде (отдельный класс), чем бросаться на амбразуру.
Как у нас на пхп. Пишешь строчки, выполняет по порядку. Сделал до конца одно, дальше. Как у нас с нодежс. Пишешь строчки и тоже по порядку, но не по такому порядку, как в php. К примеру у нас 2 обращения к базе. Они тоже будут идти по порядку, но почти одновременно, так как сразу после первого обращения к базе он не дожидаясь ответа обратится второй раз. Дожидаться ответа он уже будет в callback функции к обращению.
PHP - спокойный тип, который спокойно выполняет задачи и не запутывается. Nodejs - карьерист амфетаминщик, который в любое свободное время (к примеру, пока ждет ответа от той же базы) будет выполнять другие свои обязанности.