Выполните db: migrate и db: настройте rake задачи внутри контроллера, используя jruby и warble - PullRequest
1 голос
/ 21 декабря 2011

Я создаю приложение, которое должно позволить конечному пользователю, не являющемуся программистом, устанавливать приложение самостоятельно.

Я уже обработал ruby ​​env + веб-сервер + часть установки базы данных.Теперь я должен иметь возможность настроить базу данных для приложения.Я думаю о запуске rake db: setup внутри InstallationController (который будет доступен только во время процесса установки).

Возможно ли это?Как я могу это сделать?

Я планирую использовать Warble и JRuby, поэтому я не смогу сделать это с помощью командной строки внутри моего приложения.

Ответы [ 2 ]

3 голосов
/ 21 декабря 2011

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

ActiveRecord::Migrator.migrate(Rails.root.join('db','migrate'))
3 голосов
/ 21 декабря 2011

Вы не сможете использовать контроллер, если база данных настроена неправильно.Если настройка должна осуществляться через веб-интерфейс, вы можете включить небольшое приложение Sinatra, которое заботится о создании БД, миграции и т. Д. Для этого вам нужно только выложить свои команды (вы можете сделать это, поставив команду обратно в кавычки):

puts "Migrating database..."
`rake db:migrate`
...