Intereting Posts
llvm.org 404 предотвращает обновление apt-get Что означает приложение, должно закончиться / opt? Настройте два идентичных USB-принтера SABnzbdplus не запускается при загрузке, но запуск сценария init.d выполняется нормально Отключение IPv6 на одном интерфейсе Как я могу прочитать информацию, установленную с помощью setpci? как изменить изображение значка на ubuntu 12.04? Кнопка Lenovo Z560 громкости приглушения / включения звука всегда мигает во время работы от аккумулятора. Как это остановить? Какова связь между .gconf, .gnome2, .cache, .local и другими иерархиями точечных файлов в моем домашнем каталоге? Как я могу узнать, что делают ibus-daemon и ibus-ui-gtk3? Не удается пройти экран входа в систему Перегрев Samsung 530U Клавиша быстрого доступа Super + D не отображает рабочий стол Как скрыть окно заголовка винного приложения, когда окно максимально Устанавливает ли вино в Ubuntu безопасно?

Развертывание Rails – как вы делаете рейк db: сброс с capistrano?

Я использую Linode с Ubuntu 10.04 и Capistrano, Unicorn и Nginx для развертывания.

Как я могу сделать эквивалент heroku run rake db:reset с помощью этой настройки? Это так же просто, как cap deploy:cold снова, чтобы запустить миграцию?

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

Я написал маленький маленький файл, который вы можете скопировать, чтобы выполнять произвольные грабли с помощью capistrano: http://jessewolgamott.com/blog/2012/09/10/the-one-where-you-run-rake-commands-with-capistrano /

после установки вы можете:

 cap sake:invoke task="db:reset" 

Вы можете добавить следующее в файл deploy.rb

 namespace :custom do task :task do run "cd #{current_path} && bundle exec rake db:reset RAILS_ENV=#{rails_env}" end end 

Затем выполните команду cap custom:task для очистки базы данных.

Для Capistrano 3 без фактического удаления базы данных. Использовать bundle exec cap db:reset

 namespace :db do desc 'Resets DB without create/drop' task :reset do on primary :db do within release_path do with rails_env: fetch(:stage) do execute :rake, 'db:schema:load' execute :rake, 'db:seed' end end end end end 

Если вы используете Capistrano 3, подумайте об использовании коллекции capistrano-rails .

Вы также можете скопировать код непосредственно из файла db.rake из репозитория.

Или, если вы хотите, чтобы полноценное решение запускало все ваши рейк-задачи на удаленном сервере, посмотрите на камень мыса .