Ich bin neu in Sequelize und Node.js.
Ich habe für test sequelize codiert, aber es ist ein Fehler aufgetreten. "ER_NO_SUCH_TABLE: Tabelle 'db.node_tests' existiert nicht '
Der Fehler ist sehr einfach.
Ich möchte jedoch Daten aus der Tabelle " node_test " abrufen.
Ich denke, Sequelize fügt 's' Charakter.
Da ist mein Quellcode.
%Vor%Ich habe bereits die Tabelle "node_test" erstellt und Daten mit mysql client eingefügt.
Habe ich die Verwendung missverstanden?
Ich fand die Antwort meine eigene Frage.
Ich habe die folgende Sequelize-Methode hinzugefügt. {define:{freezeTableName:true}}
Sequelize fügt dann 's' Zeichen nach dem Tabellennamen nicht an.
Sequelize verwendet standardmäßig den Plural des übergebenen Modellnamens. Es wird also nach der Tabelle "node_tests" oder "NodeTests" gesucht. Es kann auch die Tabelle für Sie erstellen, wenn Sie das möchten.
%Vor% Sync versucht, die Tabelle zu erstellen, wenn sie nicht bereits existiert. Sie können auch die vorhandene Tabelle löschen und eine neue erstellen, indem Sie sync({ force: true })
verwenden. Überprüfen Sie die SQL-Befehle in Ihrer Befehlszeile für weitere Details zu dem, was passiert.
Wenn Sie ein Modell für eine vorhandene Tabelle definieren, müssen Sie zwei Optionen für die Fortsetzung auf:
festlegenFügen Sie einfach beide Optionen wie folgt hinzu:
%Vor%Beachten Sie den Parameter options :
%Vor%Wenn beide Optionen fehlen, werden entsprechende Fehler bei der Verwendung von Sequelize-Methoden wie nodeTest ausgelöst. findAll () .
%Vor%Alternativ können Sie:
Hier ist die Fortsetzung Dokumentation für Optionskonfigurationen.
Tags und Links node.js sequelize.js