Typo 4.1 — обновляемся
Обновление моего блога.
На днях обновил свой блог на движке typo, до весрии 4.1
Впечатления пока что только приятные. Сразу бросается в глаза подчищенная админка. Большой плюс еще, что блог движок работает на rails 1.2 и заметный прогресс в том, что есть встроенная возможность локализации.
Процесс переезда прошел прозрачно, почти без бубна и плясок :-) Итак пошагово, для тех, кто будет повторять:
- Бекапим базу в двух вариантах—SQL-дамп и сериализованный YAML вариант. Первое делается через mysqldump или phpmyadmin, а второй вариант командой rails-backup в директории с rails-проектом блога.
- Обновляем rails и typo. Т.к. у меня все работает через rubygem, я просто запустил
sudo gem update. После чего получил последние стабильные gems. - Останавливаем текущий процесс typo. Переименовываем директорию проекта и создаем заново проект с typo—
typo install my_typo_dir - Переносим конфиги из старой в новую директорию (обычно это database.yml и mongrel_cluster.yml). И обновляем базу
rake db:migrate. - После чего запускаем проект (у меня он работает через mongrel cluster), логинимся в админку и первым делом нам предлагается поменять контент в базе на новый лад. Нужно просто согласиться и блог готов к работе.
Если появились трудности при апдейте—пишите, чем смогу помогу.
PS: В рассылке видел, что у одного человека возникли проблемы при переезде с базой. У него полечилось через rails-backup и rails-restore
Борьба с утечкой памяти в ruby (mephisto и sqlite) 3
Пока мой блог развивается и читателей у меня не сильно много, позволяю себе немного заняться его наворачиванием и переделкой.
В очередной раз решился побороть проблему утечки памяти движка моего блога typo. Суть в том, что по непонятным для меня причинам, rails движок этот тек самым наглым образом (до 200 Мб за сутки). Обидно было больше потому, что на хостинге крутятся еще несколько проектов на rails и у них с памятью все стабильно. В общем долго я плевался на этот typo и решил в итоге попробывать перейти на новый и активно развивающийся движок Mephisto.
Мой Typo работал на sqlite базе и поэтому Mephisto я решил ставить тоже на sqlite. Но какое было разочарование после вечера ковыряний и переделываний… Mephisto также противно тек.
Отдельно хочу написать о впечатлениях о Mephisto. Движок уже довольно обкатанный, работает нормально. Из typo сконвертировался на раз. Все делал по доке Converting Typo to Mephisto из официальной wiki. Есть уже неплохой набор тем, из которых можно намостырить что-то свое. Единственной проблемой после перехода на Mephisto были поломанные slug у каждого поста. Их видать скрипт переноса тупо ставит в значение title. А русский, как известно, в урлах отображается не совсем читабельно :-)
Возвращаясь к теме утечки памяти оказалось, что виноват в этом не typo, а ruby sqlite бекенд к базе. Обидно, но нашел я эту информацию как раз в рассылке Mephisto. После этого я решил сменить базу с sqlite на postgresql и остаться на typo. Но тут оказалось не все так просто. Почему-то база у меня никак не смогла встать красиво. Нехватало sequences в postgresql schema. У меня в запасе были еще два способа добиться результата. Я решил пойти самым простым. Сконвертировал базу в MySQL. Её schema была в порядке.
Перенос данных очень удобно делать с помощью скрипта из комплекта Rail Application Installer, называется rails-backup и rails-restore. Данные конвертируются в YAML и потом восстанавливаются в любую базу. Конвертация прошла успешно и я жду что текучка закончится. Если нет, то в запасе есть еще одна идея :-) В дебаггер совсем не хочется лезть :-) надеюсь обойдется.
Update: Вторым и последним способом был установка Mephisto на Postgresql, но все обошлось. Так что блог остается под управлением Typo и на базе MySQL.






