Организация исходной версии БД

Рейтинг: 0Ответов: 1Опубликовано: 11.10.2014

Для организации структуры базы данных (и, соответственно, развертывания приложения на сервере) существуют миграции. Миграции предназначены исключительно для изменения структуры, и тот же Doctrine просто не имеет стандартных методов CRUD (первый Yii, например, имел - и, по-моему, зря), но вместе с этим зачастую требуется инициализировать приложение с некоторыми данными на борту - дефолтный админский профиль, базовые категории в блоге и т.п.

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

Ответы

▲ 2

Например, в рельсах есть файл db/seeds.rb, который исполнятеся при вызове rake db:seed, обычно на свежей базе -- для тестов и разработки. По идее, rake db:seed на продакшене вызываться не должен.

Кроме того, в миграциях не чураются писать код, вносящий какие-то значения в базу, это нормально.