2016-04-29 3 views
0

Я немного новичок в героике и postgresql и не знаю, как работает перевод из mysql в postgresql. Мое приложение было разработано на MySQL и запустить его из Heroku я сделал несколько шагов: 1. Добавлен gem 'pg' и gem 'rails_12factor' так:Проект бегущих рельсов на heroku

group :production do 
    gem 'pg' 
    gem 'rails_12factor' 
end 

И завязывайте его без производства 2. Я также изменил свою базу данных. YML в: (Также у меня есть вопрос, как я могу использовать MySQL в devolepment и Postgre в производстве?)

# PostgreSQL. Versions 8.2 and up are supported. 
# 
# Install the pg driver: 
# gem install pg 
# On OS X with Homebrew: 
# gem install pg -- --with-pg-config=/usr/local/bin/pg_config 
# On OS X with MacPorts: 
# gem install pg -- --with-pg-config=/opt/local/lib/postgresql84/bin/pg_config 
# On Windows: 
# gem install pg 
#  Choose the win32 build. 
#  Install PostgreSQL and put its /bin directory on your path. 
# 
# Configure Using Gemfile 
# gem 'pg' 
# 
default: &default 
    adapter: postgresql 
    encoding: unicode 
    # For details on connection pooling, see rails configuration guide 
    # http://guides.rubyonrails.org/configuring.html#database-pooling 
    pool: 5 

Но! Когда я судимый работать через Heroku (загрузка работает отлично) мои динамические страницы не были работать, и я получаю эту ошибку: Errors

Итак, я предположил, что DB как раз не мигрирует, хорошо, я запущенный с помощью консоли этого: heroku run rake db:migrate --app name
Aaand я теперь у меня есть эта ошибка:

rake aborted! 
StandardError: An error has occurred, this and all later migrations canceled: 

PG::UndefinedTable: ERROR: relation "schoolings" does not exist 
: ALTER TABLE "students" ADD CONSTRAINT "fk_rails_e33c769d03" 
FOREIGN KEY ("schooling_id") 
REFERENCES "schoolings" ("id") 

Мои вопросы:

1. Почему это происходит? Я пропустил некоторые шаги при развертывании моего приложения?

2. Как я могу разделить производство и dev DB в deploy.yml?

Спасибо, за любую помощь!

+0

убедитесь, что у вас есть все ваши миграции в виде файлов .., чтобы проверить, что использование 'bin/rake db: migrate: status' Я думаю, что есть один не нормально. – siegy22

+0

Я должен проверить его на герою или в приложении? – 01ghost13

+0

в вашем местном приложении – siegy22

ответ

3

Сначала вам нужно создать базу данных по героку.

heroku run rake db:create --app-name 

Затем вы можете выполнить миграцию.

+0

Я пробовал и получаю следующее: 'FATAL: разрешено для базы данных postgres" ДЕТАЛИ: У пользователя нет привилегии CONNECT. ' – 01ghost13

+0

Можете ли вы показать свой файл database.yml? – margo

+0

Это в моей теме – 01ghost13

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