Rails Heroku База данных Население - PullRequest
6 голосов
/ 16 июня 2011

После развертывания приложения Heroku у меня возникают проблемы с заполнением базы данных некоторыми необходимыми мне данными. Я запустил heroku rake db: populate, и он создал первоначального пользователя-администратора, но не смог поместить остальные данные.

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

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

Спасибо!

Ответы [ 3 ]

12 голосов
/ 24 апреля 2013

команды героку изменились.теперь это должно быть:


heroku run rake db:push
heroku pg:reset DATABASE
heroku run rake db:seed

также данные из локальной базы данных можно загрузить в heroku, установив taps gem и отправив данные из локальной базы данных PostgreSQL.

gem install taps
heroku db:push 
9 голосов
/ 16 июня 2011

Если у вас есть чистая локальная база данных (то есть просто хорошие вещи, без глупых данных тестирования), тогда вы можете попробовать heroku db:push:

db:push [<database_url>] # вставить локальную базу данных в удаленную базу данных приложения

И, пожалуйста, не забывайте разрабатывать на PostgreSQL, если вы собираетесь использовать совместно используемые или выделенные базы данных Heroku, используя одну и ту же базу данных и версию (версия 8.3 для совместно используемой, 9.0 для выделенной) как в среде разработки, так и в рабочей среде, что спасет вас. много боли, страданий и растерянности.

Ссылки:

3 голосов
/ 16 июня 2011

Я устанавливаю базу данных разработки и отправляю ее в Heroku.

rake db:reset
rake db:seed
heroku rake db:push

Если вы используете PostgreSQL по умолчанию, другой вариант -

heroku pg:reset
heroku rake db:seed

Я использую следующее в файле seed.rb:

require 'pathname'
RailsRoot = Pathname.new(RAILS_ROOT).expand_path

print "Loading data..."
fileData = File.read (RailsRoot + "db/data-file.csv")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...