Ruby on Rails 3: Миграции в Rails 3.x
февраля 9, 2012 | Published in Ruby on Rails, Ruby on Rails 3
RubyDev — ваш друг в изучении Ruby и Rails!
Миграции — это очень удобный инструмент для управления структурой базы данных без использования SQL.
Как работают миграции?
Миграции — это обыкновенные классы, которые наследуются от ActiveRecord::Migration, описывают структуру базы данных и хранятся в директории db/migrate/ вашего проекта. При использовании генератора scaffold или генератора моделей автоматически будет создан и класс миграции для создания соответствующей модели таблицы.
$ rails g model Post title:string content:text
В результате помимо создания самой модели будет создан еще и файл миграции следующего содержимого:
#db/migrate/20120126202608_create_posts.rb class CreatePosts < ActiveRecord::Migration def change create_table :posts do |t| t.string :title t.text :content t.timestamps end end end
В предыдущих версиях Rails использовались методы self.up и self.down для соответственно выполнения и отката миграции. В Rails 3.1, как показано выше используется один единственный метод change вместо self.up и self.down. Методы up и down также доступны, но в большинстве случаев достаточно метода change.
Для выполнения миграций необходимо выполнить команду:
$ rake db:migrate
Запуск этой команды выполнит все имеющиеся миграции, что ранее не были выполнены. Read the rest of this entry »