2016-06-07 11 views
1

Ich arbeite mit einer Segelanwendung, die Sequelize als ORM-Tool verwendet. Die erste Integration zwischen der App und Sequelize wurde über das sails-hook-sequelize-Plugin eingerichtet, das Sie unter here finden. Dieser Ansatz hat bisher sehr gut funktioniert, kein Problem, Modelle zu definieren und zu verwenden.Verwenden von Raw-Abfragen in einer Sails-App mit Sequelize als ORM

Ich traf jedoch eine Straßensperre, als ich eine Ansicht als Sequelize-Objekt definieren wollte. Sequelize hat (noch) keine einfache Möglichkeit, dies zu tun. Die von mir gefundene Arbeit bestand darin, eine rohe Abfrage auszuführen und eine Tabelle mit dem Ergebnis zu füllen.

Jetzt komme ich zur zweiten Straßensperre und die eigentliche Frage selbst. Wie führe ich einfach eine sequelize.query in meiner Segelanwendung aus? In eigenständigen Knoten-Apps mit Sequelize habe ich kein Problem. Allerdings ist diese Segelanwendung von mir so weit gegangen, dass ich mir nicht mehr sicher bin, welches Objekt ich tatsächlich aufrufen soll. Was ich suche ist etwas Einfaches wie

Sequelize.query("SELECT * FROM `Document.MyView`", { type: Sequelize.QueryTypes.SELECT}) 

Leider über die mir sequelize.query is not a function

gibt Ich habe eine connections.coffee Datei, in der die Datenbankverbindung definiert ist. Es heißt "Core", aber wenn ich es versuche Core.query bekomme ich Core is undefined

Scheint, wie ich vermisse etwas Einfaches und Grundsätzliches vom Stapeln zu viele Dinge auf dem anderen.

Antwort

1

In Ordnung meine Probleme entstanden aus dem sails-hook-sequelize-Plugin. Zum Glück kam meine Antwort auch von diesem Plugin!

"Sequelize" ist eine globale in diesem Plugin. Fügen Sie also keine sequelize = require 'sequelize' hinzu. einfach die rohe Abfrage mit sequelize.query wie erwartet aufrufen (Groß-/Kleinschreibung beachten).

Dann sollte Ihre rohe Abfrage funktionieren! Danke von mir.