2016-09-28 7 views
0

Ich habe an diesem Computer für 7 Stunden gerade versucht, meine App zu implementieren. Es gibt ein Node/Express-Backend, das eingeschränkte API-JSON-Daten an verschiedenen Endpunkten bereitstellt. Um Zugriff auf diese JSON-Daten zu erhalten, müssen Sie ein Token haben.Problem mit Sequelize Migrationen zu Heroku

Alles funktioniert gut und dandy auf meinem lokalen Server während der Entwicklung. Wenn ich jedoch die Migrationen nach heroku schicke (mit 'run bash' von heroku, dann 'sequelize db: migrate), bekomme ich einen zufälligen Fehler, der sagt "SyntaxError: Unexpected String" .. wie unten gezeigt.

Wie Sie sehen können, wenn ich Sequelize ausführen: db: migrate: rückgängig machen, heißt es, dass keine ausgeführten Migrationen gefunden.

`` ` Sequelize [Knoten: 5.11.1, CLI: 2.4.0, ORM: 3.24.3, Seite:^6.1.0]

Loaded configuration file "config/config.json". 
Using environment "production". 
== 20160917224717-create-user: migrating ======= 
[SyntaxError: Unexpected string] 
~ $ sequelize db:migrate:undo 

Sequelize [Node: 5.11.1, CLI: 2.4.0, ORM: 3.24.3, pg: ^6.1.0] 

Loaded configuration file "config/config.json". 
Using environment "production". 
No executed migrations found. 
~ $ 

` ``

jedoch Wenn ich in meine Heroku-Datenbank schaue, sehe ich, dass es jetzt 1 Tabelle gibt. Diese Tabelle funktioniert jedoch nicht, und ich erhalte immer noch einen Fehler beim Senden des Formulars, um einen Benutzer zu erstellen. Der Fehler, den ich auf dem Formular erhalten einreichen ist:

Nachricht: „Beziehung‚Benutzer‘existiert nicht“ Name: „SequelizeDatabaseError“

Was soll das? Dieser unerwartete Zeichenfolgefehler der Syntax wird nicht ausgelöst, wenn ich lokal aktiv bin. Es läuft glatt wie Butter mit den Migrationen. Was könnte das sein?

Danke.

+0

Das Problem herausgefunden. Am Anfang der Benutzermigrationsdatei befand sich eine unerwartete Zahl 2. Aus diesem Grund hat es bei der Benutzermigration angehalten. Das Ding, das alles wegwarf war, dass es mir nicht sagte, wo die unerwartete Saite war. Wenn Sie dies in der Zukunft mit der gleichen Fehlermeldung lesen, wissen Sie, dass Sie wahrscheinlich versehentlich eine unerwartete Zeichenfolge irgendwo haben. –

Antwort

0

Entweder haben Sie Ihren Code auf dem Server nicht aktualisiert, damit er Ihrer lokalen Umgebung entspricht oder Ihre Datenbank stimmt nicht überein. "Benutzerbeziehung" bedeutet, dass die Tabelle users mit einer anderen Tabelle verwandt ist. Stellen Sie sicher, dass der Code wirklich aktualisiert wird (wenn Sequelize-Code diese Beziehung erwähnt) UND alle anderen Tabellen auf dem Server reproduziert werden.

Verwandte Themen