Rails - автоматическое заполнение данных в таблице по развертыванию - роли - PullRequest
2 голосов
/ 02 ноября 2010

В моем приложении у меня есть таблица для ролей. Довольно просто: 1: Admin, DESC материал 2: Гость, Desc вещи

и т.д ..

Проблема, с которой я только что столкнулся, заключалась в том, что я пошел развертывать приложение на heroku, и все сломалось, причина в том, что эти стандартные роли в базе данных не были заполнены при развертывании ... Что-то, о чем я не думал. *

В Rails 3 есть ли способ сказать, привет, мистер Rails, вот значения таблицы по умолчанию? при переносе или создании базы данных?

Спасибо

Ответы [ 2 ]

6 голосов
/ 02 ноября 2010

Существует концепция под названием Seed Data в Rails, которую вы можете использовать для этого.

В каталоге db создан файл с именем seed.rb . В котором вы можете создавать такие вещи.

Например,

 Role.create(:name => "Administrator") 

войдет в этот файл.

Вы можете позвонить rake db:seed , чтобы вставить эти данные в ваше приложение.

Об этом тоже есть сообщение - http://railscasts.com/episodes/179-seed-data.

0 голосов
/ 11 ноября 2010

Если роли являются частью логики вашего приложения, может быть лучше определить их как массив в вашей кодовой базе.Это также исключает необходимость синхронизации баз данных при добавлении новых ролей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...