2014-11-22 3 views
1

так я уже успешно установлен Harrys Prelauncher на Heroku (https://github.com/harrystech/prelaunchr)Запуск команды базы данных heroku от pgAdmin III? (Гарри Prelaunchr)

и экспортировать свои собранные электронные письма в формат CSV мне нужно запустить эту команду (расслоение EXEC рек prelaunchr: create_winner_csvs)

есть ли способ запустить эту команду через pgadmin или какую-либо другую программу?

или это единственный способ загрузить мою базу данных heroku и запустить команду локально? также как и что мне нужно сделать?

Я довольно новичок в рельсах и postgresql и был бы очень признателен, если бы кто-то мог мне помочь!

ответ

1

Изнутри директории проекта вы можете использовать

heroku run rake prelaunchr:create_winner_csvs 
1

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

При нажатии на экспорт CSV он должен запускать фоновое задание на heroku (использование отложенных заданий).

heroku run rake prelaunchr:create_winner_csvs 

Использование send_data рубин метод. Чтобы отправить ваш сгенерированный и сбрасываемый файл данных в ваш браузер.

Загрузите файл в локальную систему из запуска экземпляра heroku.

Надеюсь, что это решит вашу проблему.

Cheers !!!

2

Поскольку задача rake создает файлы локально, вы не можете просто запустить ее на герою через heroku run rake. Тем не менее вы можете настроить локальную базу данных.yml для подключения к вашему экземпляру postgresql heroku и выполнить задачу rake локально.

  1. Заполните heroku pg:credentials, чтобы получить требуемые значения базы данных.
  2. Заполните в производственной среде config/database.yml с значениями, полученными на стадии 1 (для значения «базы данных» в файле YML, используйте dbnmae со стадии 1)
  3. Проверьте соединение с RAILS_ENV=production rails db. Это должно привести вас к консоли psql.
  4. Запустить задачу грабли. RAILS_ENV=production bundle exec rake prelaunchr:create_winner_csvs

Файлы будут сохраняться локально в lib/assets, как указано в документации.

0

Недавно я столкнулся с этой проблемой при разработке кампании Prelaunchr для клиента. Предполагая, что у вас есть локальная версия вашего приложения и вы используете Postgres Copper в Heroku, вы можете «вытащить» вашу базу данных Heroku на ваш локальный компьютер, установить это как свою базу данных разработки в database.yml и запустить задачу рейка из вашего локального приложение, которое теперь должно иметь ту же базу данных, что и ваша версия heroku. Вот команда спустить дб (заменял из name_for_database & heroku_app_name с вашим собственным):

heroku pg:pull HEROKU_POSTGRESQL_COPPER_URL name_for_database --app heroku_app_name 

Убедитесь, чтобы перезагрузить локальный сервер, чтобы увидеть новую информацию базы данных заселен.

Смежные вопросы