воскресенье, 21 августа 2011 г.

Включаем журналирование для MongoDB

Начиная с версии 1.7.5 в MongoDB появилось журналирование. Включение журналирования позволяет избавиться от ручного восстановления базы после сбоя. Правда журналирование замедляет скорости записи. Начиная с версии 1.9.2 для 64-х битных систем журналирование включено по умолчанию. Для 32-битной версии и предыдущих версий журналирование нужно включать вручную. Нужно добавить в конец файла настроек (обычно /etc/mongodb.conf) следующею строку:
journal=true
 Ну и для немедленного применения настроек нужно перезагрузить MongoDB. Это делается так:
sudo /etc/init.d/mongodb start 

понедельник, 15 августа 2011 г.

Опыт частичного перехода с Rails 3.0.9 на Rails 3.1.rc5

Решил попробовать перевести свой текущий проект на Rails 3.1(rc5). Создал новую ветку в репозитории, создал новый гемсет в rvm.
Заменил в Gemfile строку:
gem 'rails', '3.0.9'
На строку:
gem 'rails', '~> 3.1.rc5'
Обновил все гемы:
bundle update
Запускаю тесты:
rspec spec/
Приблизительно 10% валятся. Все сломанные тесты для контроллеров. Все ошибки были из-за того, что раньше при тесте контролера через rspec параметры предавались в контроллер напрямую, а теперь всё переводится в строки. Например, если раньше вызов:
put :move, :id => 1, :derection => :down
раньше передавал в контроллер непосредственно 1 и :down, то теперь это будет '1' и 'down' соответственно. 

Как я понял это сделали, что бы вызовы методов контроллеров были больше похожи на вызовы браузера.

Других ошибок пока не было, но я ещё не включал новые возможности рельс.