J'ai une application Rails appelée "enrollment_app" qui initialise et remplit toutes les tables de la base de données avec un fichier seed MySQL. J'ai construit l'application, ajouté quelques migrations et poussé mon application vers Heroku. Cependant, comme Heroku utilise Postgres, j'ai besoin d'un moyen de rendre ma base de données MySQL compatible avec Heroku, donc j'utilise l'addon ClearDB.Déployer une application rails en utilisant MySQL à Heroku en utilisant l'addon ClearDB
Lorsque je tente d'ouvrir l'application cependant, je reçois le message:
Application Error
An error occurred in the application and your page could not be served. Please try again in a few moments.
If you are the application owner, check your logs for details.
Alors, j'ai vérifié les journaux et cette erreur:
PG::UndefinedTable: ERROR: relation "enrollments" does not exist
J'ai suivi avec ce tutorial mais apparemment je ne sais pas comment faire pour que ClearDB ressemble à ma base de données MySQL locale puisque je reçois cette erreur ci-dessus. Comment est-ce que je peux faire l'équivalent de rake db:seed
le dossier de graine de MySQL et rake db:migrate
à la base de données de production ClearDB?
Mise à jour - Gemfile:
source 'https://rubygems.org'
gem 'rails', '4.2.1'
gem 'mysql2'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc
gem 'bootstrap-sass', '~> 3.3.5'
gem 'bootswatch-rails'
gem 'ransack'
gem 'jquery-turbolinks'
gem 'kaminari'
gem 'bootstrap-kaminari-views'
gem 'jquery-ui-rails'
gem 'espinita'
gem 'mysqltopostgres', git: "https://github.com/maxlapshin/mysql2postgres.git"
group :development, :test do
gem 'byebug'
gem 'web-console', '~> 2.0'
gem 'spring'
gem 'rspec-rails'
gem 'launchy'
gem 'pry'
gem 'pry-nav'
gem 'shoulda-matchers'
gem 'factory_girl_rails'
gem 'capybara'
gem 'newrelic_rpm'
gem 'poltergeist'
gem 'database_cleaner'
end
group :production do
gem 'rails_12factor'
end
'PG :: UndefinedTable' est une erreur de la PG (Postgres) gemme. Avez-vous mis à jour votre Gemfile pour utiliser la gem mysql? Voir cette partie du guide: https://devcenter.heroku.com/articles/cleardb#local-setup – elithrar
Oui, j'ai retiré le 'pg gem' de mon gemfile, j'ai rebondi, je l'ai poussé vers heroku, puis j'ai couru' heroku run rake db: create 'mais a cette erreur: 'LoadError: impossible de charger un tel fichier - pg'. Puis j'ai essayé de mettre l'URL de la base de données heroku à mysql2 et j'ai trouvé ceci dans mes journaux heroku: Impossible de détruire la dernière pièce jointe à l'application de facturation pour la ressource somnoler-2184' –
Pouvez-vous poster votre dernière Gemfile? – elithrar