Rails + MongoDB

Щоб врятувати ваш час та популяризувати уанет, Серьога заставив мене написати цю статтю. Я надіюсь, що врятований мною ваш час ви не згаєте, а потратите його на MC і роздасте плюшок Шао-Кану.

Я не копірайтер, не вмію гарно писати, тому тут буде просто купа коду.

Зразу хочу наголосити, що ця стаття не про порівняння SQL та NoSQL баз,а опис того, як використовувати MongoDB у Rails проекті. На своєму VPS сервері, ми використовуємо зв`язку Rails + M0ngoDB.

Для початку, вам потрібно інсталювати саму базу на локальну машину у моєму випадку це MacBook Pro, та запустити базу в терміналі за допомогою команди

sudo mongod

Після того, як наш mongo успішно запустився, створюємо Rails проект.

 rails new mongotest -O

Приставка “-О” присутня для того, що б не використовувати стандартну бібліотеку ActiveRecord, mongodb вона не потрібна

Знімок екрана 2014-02-12 о 17.26.52

Тепер, у наш Gemfile потрібно додати такий гем як mongoid, як нам і сконфігурує MongoDB та Rails

gem ‘mongoid’, git: ‘https://github.com/mongoid/mongoid.git’

Знімок екрана 2014-02-12 о 17.34.54

Виконаємо в терміналі:

bundle install

Для того, щоб сконфігувати базу та проект, виконаємо в терміналі

rails g mongoid:config

Тепер для наглядності згенеруємо модель:

rails g model Post title:string content:text published:boolean

і у нас з’явиться модель, яка буде мати такий вигляд

Знімок екрана 2014-02-12 о 17.53.58

Бачимо, що тепер наша модель не наслідує ActiveRecord і у на відсутні міграції. Якщо вам знадобиться додати якесь поле, просто потрібно його дописати в модель.

Власне ось так, в декілька кроків, можна налаштувати зв’язку Rails + MongoDB.

Мир Вам :]