2017-06-10 18 views
0

Ok. Ich habe alle in Heroku https://devcenter.heroku.com/articles/getting-started-with-nodejs#provision-a-database aufgelisteten Anweisungen befolgt und versuche den letzten Schritt zu vervollständigen - meine Seite zu bekommen, um den Inhalt einer Datenbank zu drucken, die ich anscheinend gerade mit PostGres bereitgestellt habe. DieseKeine Verbindung zur Postgres-Datenbank?

ist, was Postgres wie für mich aussieht:

enter image description here

Heroku der Probe sagt Datenbank wie folgt verbinden:

app.get('/db', function (request, response) { 
    pg.connect(process.env.DATABASE_URL, function(err, client, done) { 
    client.query('SELECT * FROM test_table', function(err, result) { 
     done(); 
     if (err) 
     { console.error(err); response.send("Error " + err); } 
     else 
     { response.render('pages/db', {results: result.rows}); } 
    }); 
    }); 
}); 

Aber wenn meine Seite mit diesem Laufen bekomme ich, dass die Tabelle 'test_table' existiert nicht.

enter image description here

dies Nach und manuell in URL für die Datenbank setzt Trying to connect my node.js to Heroku PostgreSQL database. Following Heroku Postgres tutorial ich diesen Fehler: ERR_CONNECTION_REFUSED

Ich kann den Inhalt der db nicht für etwas bekommen. Wie mache ich das?

MÖGLICHE PROBLEM: Ich habe keine .env-Datei und weiß nicht, wie man eine .env-Datei konfiguriert. nicht sicher, ob das irgendwas betrifft

Antwort

0

Ich schätze, Sie müssen create a test_table table. Vom bottom of the page you posted:

$ heroku pg:psql 
psql (9.5.2, server 9.6.2) 
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256) 
Type "help" for help. 
=> create table test_table (id integer, name text); 
CREATE TABLE 
=> insert into test_table values (1, 'hello database'); 
INSERT 0 1 
=> \q 
+0

Ich tat das und alle kamen gut zurück. Problem ist in Postgres es erscheint nicht Ich habe eine Tabelle namens "test_table", wenn ich hier verstehe .. Im Augenblick sagt Terminal, wenn ich das wieder "relation" test_table "bereits existiert" – skyguy

+0

Ich habe keine .env-Datei . Könnte es das sein? – skyguy

0

prüfen, ob Postgres erwarten Groß- und Kleinschreibung Abfrage (insbesondere Tabellenname) ausgeführt durch pg-Versprechen oder nicht.

Nach dem Fehler, Nodejs ist in der Lage, die Verbindung mit Postgres.

+0

Können Sie das wiederholen? Ich verstehe nicht, was Sie mich an cgeck – skyguy

+0

ich sagen möchte. Wenn Ihr Tabellenname mit "Test_table" erstellt wurde (T ist Großbuchstabe), muss die Query mit T capital in Ihrem Tabellennamen abgefeuert werden. So überprüfen Sie zuerst die Tabellendefinition in Postgres und verwenden denselben Tabellennamen während der Abfrage. Siehe https://www.postgresql.org/message-id/[email protected] –

+0

Nein, ich kopiere pasted aus herokus Tutorial und habe gerade versucht, eine neue Tabelle auf die gleiche Weise zu erstellen. – skyguy

Verwandte Themen