2014-10-15 4 views
1

Я хотел бы подтвердить, что я понимаю, как модели баз данных и миграции работают от кого-то, кто знает эту тему лучше меня.Объяснение модели баз данных и миграции

Модель: как структурирована база данных и как организованы данные. Их отношение к другим таблицам и тому, что входит в каждую колонку.

Миграция: фактическое создание таблиц данных?

По какой-то причине я искал это в googled и не могу получить простое объяснение этого ответа. Если модель создает структуру базы данных, зачем мне даже нужна миграция?

ответ

1

Вы рядом! Модель - это не просто «создание структуры базы данных», хотя модель - это то, как код Ruby видит структуру базы данных. Это действительно другое представление структуры базы данных, которую рельсы могут использовать для передачи данных, которые она получает из базы данных. Причина, по которой вы помещаете всю информацию о таблице в модель, заключается в том, что ruby ​​может использовать эту информацию для автоматического вывода строк из базы данных и помещения их в эти объекты модели.

Перенос, с другой стороны, изменяет базу данных с одной схемы на другую. Каждый раз, когда вы создаете новую модель, будет создана новая миграция для создания таблицы, соответствующей модели. Вы также должны создать новую миграцию, когда хотите изменить модель (и соответствующую ей таблицу).

+0

так что миграция действительно создает таблицы? Модель просто дает инструкции о том, как она будет создана? –

+0

Более или менее. Я бы сказал, что миграция создана на основе модели. – Denise

+0

Таким образом, это объясняет, почему, когда одно изменение сделано для модели, необходимо выполнить миграцию? –