7
votes

Heroku sur rails - Base de données invalide_url

Edit: L'avis général est d'utiliser CEDAR STRAND> Stack.

joli nouveau sur ror, gemmes, héroku et git. Suivi du tutoriel: http://ruby.railstorial.org/book/ruby-on -Rails-Tutorial P>

fonctionne sans heurts sur localhost, lorsqu'il est déployé sur Heroku, a Erreur de ConnectionNottaillée forte>, qui a été résolu ici: https://stackoverflow.com/questions/7542745/heroku-error-acterecordconnectionNottablished (BTW : Suite même didacticiel) em> Après avoir changé la base de données de production sur PostgreSQL (gem 'pg') em> Il génère une autre erreur: p>

VISTANT SITE LIVE STRUT> P>

Une erreur s'est produite dans l'application et votre page n'a pas pu être servi. Veuillez réessayer dans quelques instants. P>

Si vous êtes le propriétaire de l'application, vérifiez vos journaux pour plus de détails. P> blockQuote>

essayé ceci - App s'est écrasé, recevant "URL de la base de données non valide" Lorsque tente Heroku Rake DB: migrer - Heroku Rake DB: migrez strong> p> xxx pré>

Console Heroku strong> p>

bundle install
git add .
git commit -m "another heroku fix"
git push
git push heroku


0 commentaires

6 Réponses :


2
votes

La première chose que je commençais à déplacer votre application à la pile de cèdre - il prend en charge les rails 3.1 hors de la boîte sans avoir à faire de gâcher.

Lorsque vous créez votre application via Heroku Create Faites-le comme P>

heroku create --stack cedar


0 commentaires

0
votes

Pouvez-vous taper Heroku Config -Long - (nom de l'application). Veuillez poster des résultats, en particulier base de données_url.

Besoin de plus d'informations. En outre, assurez-vous que vous êtes sur la pile de cèdre comme mentionné ci-dessus.


3 commentaires

Bundle_without => Développement: Test Lang => EN_US.UTF-8 RACK_ENV => Production Migration vers Cedar, comme suggéré dans une autre réponse.


Migration en cèdre n'est pas si triviale, certaines questions avec postgre / SQLite la prochaine fois utiliseront - Base de données = PostgreSQL depuis le début. Quoi qu'il en soit, merci de l'aide, pour l'instant, je terminerai le tutoriel sans déployer ...


Il manque l'URL de la base de données .... Avez-vous une base de données partagée ajoute installée? Il devrait cracher l'URL de la base de données et sous l'URL de la base de données partagée. S'il y a un problème, on dirait que c'est là. Il devrait y avoir au moins une valeur par défaut.



3
votes

J'avais exactement le même problème. Il s'est avéré que je n'avais pas une base de données associée à l'application. Vous le verrez avec la commande simple heroku config , vous devriez voir des URL de base de données, pointant sur Amazon. Exemple: xxx

Quoi qu'il en soit, J'ai corrigé cela en créant une nouvelle application et le déploiement. J'ai essayé de tripoter dans les écrans de configuration, mais je n'ai pas pu résoudre le problème.

Je ne sais pas si c'est la même cause que la vôtre: j'ai créé une application Ruby simple, déployée, puis créé une application Rails. Je n'avais pas encore eu à une base de données et je me demande si Heroku a décidé d'une manière ou d'une autre du premier déploiement que je n'avais pas besoin d'une base de données.


3 commentaires

Hey, appelle-moi fou, mais vous voudrez peut-être modifier votre mot de passe de DB ou modifier ce message, de sorte que vos informations d'identification de la base de données ne sont pas diffusées au monde?


Hey fou! J'ai changé le message, il est donc plus évidemment faux de fausses données ... FYI Je n'ai pas publié mes véritables identifiants à l'origine.


Ok, Ouf! Bon à entendre! Juste essayer d'aider.



18
votes

Vous devez définir la variable DatabyDey_url CODE> Environnement avec le chemin de votre message Postgres en ligne DB.

Essayez d'exécuter Heroku PG code>. Si la sortie est "MyApp n'a pas de bases de données Heroku-PostgreSQL". Ensuite, vous devez ajouter l'add-on PostgreSQL en premier. Il créera un dB postgres pour vous sur Amazon AWS. P>

heroku config:set DATABASE_URL=postgres://your-db-url


0 commentaires

2
votes

Une autre façon de paramétrer la base de données_url dans le fichier de configuration consiste à exécuter la commande xxx

la .._ couleur_url serait extraite de l'exécution de Heroku config, comme suggéré par RODREI

Voir la documentation de Heroku: https://devcenter.heroku.com/articles/heroku-postgresql#establish -Primary-db


0 commentaires

1
votes

Veuillez lire cet article:

Base de données ClearDB MySQL

Commandes:

HEROKU CONFIG

ou si vous utilisez pour un projet de rails multiples projets Heroku

Heroku Config -app --app votre_app_name

Ajouter une URL de la base de données:

HEROKU CONFIG: SET BASEDY_URL = 'MYSQL: // ADFFDADF2341: ADF4234@US-CDBR-EAST.CLEARDB.COM/HEROKU_DB? REConnect = TRUE'

Si vous utilisez MySQL2 Gem doit remplacer MySQL avec MySQL2

HEROKU CONFIG: SET BASEDY_URL = 'MYSQL2: // ADFFDADF2341: ADF4234@US-CDBR-EAST.CLEARDB.CI/HEROKU_DB? REConnect = TRUE'

J'espère que ces configurations peuvent être utilisées pour la base de données PostgreSQL, NOSQL ou une autre base de données.


0 commentaires