Я немного новичок в героике и 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 (загрузка работает отлично) мои динамические страницы не были работать, и я получаю эту ошибку:
Итак, я предположил, что 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?
Спасибо, за любую помощь!
убедитесь, что у вас есть все ваши миграции в виде файлов .., чтобы проверить, что использование 'bin/rake db: migrate: status' Я думаю, что есть один не нормально. – siegy22
Я должен проверить его на герою или в приложении? – 01ghost13
в вашем местном приложении – siegy22