09:28 Миграции. Что такое миграция? |
Как уже было описано в предыдущих статьях, рельсы работают с Базой данных через ActiveRecord(обьектная прослойка между Бд і web-приложением), настройка производится в одном единственном файле конфигурации. Возникает логичный вопрос - мы создали базу, настроили конфиги, так как же нам создать структуру БД??
Ответ - миграции. Что же такое миграция и зачем они вообще нужны? Миграция - это файл который содержит описание создания в БД таблиц и полей. Чтобы создать миграцию воспользуйтесь или консолью или меню вашей IDE. В консоли надо набрать - ruby script/generate migration add_a_new_table. "Add a new table" - название миграции, которое должно описывать действие с БД. Содержимое файла(Как пример приведем код создания таблицы юзеров):class CreateUsers < ActiveRecord def self.up create_table :users do |table| table.column :username, :string, :null => false, :limit => 60 table.column :password, :string, :null => false end end def self.down drop_table :users end Детальнее типы данных рассмотрим в следующих статьях. Таким образом отдельные миграции содержат отдельную логику создания новых структур. Код после def self.down нужен для того чтобы миграцию можно было "откатить назад". Все миграции складываются в отдельную папку и их имя файла начинается с цыфры которая показывает ее место в списке. Миграции исполняются строго по очереди. Из за того что предусмотрен откат - мы можем безболезненно вернутся в любое последнее стабильное состояние БД до изминения. Благодаря тому что миграции хранятся в отдельных, легкочитаемых файлах - достаточно только загрузить их из SVN и проммигрировать - и каждый разработчик получит точную копию основной БД на свою машину. Нет необходимости делать SQL дампы, а потом руками переносить все в нашу локальную базу. Так же легко и закомитить миграции в репозиторий где проведя миграции (на сервере проводяться в автоматичном режиме) мы внесем изминения в нашу рабочую БД. |
|
Всего комментариев: 0 | |