verbinden sequelize.js auf node-webkit-desktop-app mit sqlite
derzeit bin ich mit node-sqlite3, sqlite Bindung auf meinem node-webkit desktop-app und verwenden Sie es als
var sqlite3 = require('node_sqlite3').verbose();
var db = new sqlite3.Database('file:data.db');
db.run(query);
und mein wissen in diesem systemintern kompilierte node-sqlite3 ist der einzige Weg, um die Verwendung der sqlite-db mit node-webkit.
jetzt will ich mit sequelize auf die app, die normalerweise als:
var Sequelize = require('sequelize-sqlite').sequelize
var sqlite = require('sequelize-sqlite').sqlite
var sequelize = new Sequelize('database', 'username', 'password', {
dialect: 'sqlite',
storage: 'path/to/database.sqlite'
})
sequelize.query("SELECT * FROM myTable").success(function(myTableRows) {
console.log(myTableRows)
})
wie kann ich das erreichen ? (dh. verwenden sequelize auf node-webkit app mit sqlite)
Ziel ist es, für die Datenbank das Leben einfacher durch ausführen von Migrationen , verwenden Sie die Modelle zum manipulieren von Datenbank -, oder schlagen Sie, wenn es irgendwelche anderen javascript-Bibliotheken (mvc wird bevorzugt) , kann die Arbeit durch node-webkit+sqlite (und wie man Sie machen Arbeit) .
ist, angularjs eine option ? wenn ja, wie dies zu tun.
danken yous.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand ich die Lösung. nach der Verwendung folgenden sqlite3 für node-webkit und Wiederaufbau, wie in den
node-sqlite 3 für node-webkit
Es wird ein Ordner mit dem Namen "node_sqlite3" in den node_modules . Ich umbenannt in "node_sqlite3" zu "sqlite3". und dann habe npm-install sequelize-sqlite .
nach dieser sequelize-sqlite wird automatisch erkannt und verbunden wird, um sqlite3 und es kann normal verwendet werden.
und die Datensätze in der Datenbank.
sequelize
Beispiel, was ist der relative Pfad für diestorage
option? Wo, im Verhältnis zu der app root (package.json
undindex.html
) hat die Datenbank gehen?"Uncaught Error: Cannot find module './binding/Release/node-v11-darwin-ia32/node_sqlite3.node'", source: module.js (343)
Irgendwelche Ideen?Ich hatte auch ein problem bei der Verbindung zu SQLite-Datenbank von
node-webkit
mitsequelize
. Durch Versuch und Irrtum, kam ich mit der folgenden Lösung.Beachten Sie, dass für die SQLite Datenbank, die Sie angeben müssen,
Dies ist der Weg zu Ihrem db-Datei. Es kann entweder mit absoluten Pfad oder relativ.
./
bedeutet Projekt-root-Ordner, wopackage.json
liegt.Außerdem muss die Verbindungszeichenfolge enthalten, die
sqlite:
Präfix. Andernfalls wird eine Ausnahme ausgelöst:Cannot read property 'replace' of null
. Der Teil nachsqlite:
Präfix ist irrevelant und kann auch weggelassen werden, weil die eigentliche db-Speicherort angegeben instorage
option.dialect
- option kann weggelassen werden, da db-Typ ist bereits in der Verbindungszeichenfolge Präfix. So können Sie verbinden Sie einfach mitEs ist auch erwähnenswert, dass
.success
und.error
Methoden sind veraltet. Zum Zeitpunkt des Schreibens dieser post, die neueste version von Sequelize (3.21) verwendet.then
Methode zu behandeln Operationen, wenn das Versprechen erfüllt ist und.catch
Methode, wenn das Versprechen wird abgelehnt.In Node-WebKit-Sie können Sie Module verwenden, geschrieben komplett in JavaScript. Für Module mit C/C++ sollten Sie bauen die addons von node-gyp, weil das ABI (application binary interface) von node-webkit unterscheidet sich von Knoten s ABI.
Versuchen smth like sequelize-sqlite, dass 100% JS-oder finden die Module in npm gehen Sie zu GitHub repository und unter Zeile verpflichtet, Zweig, releases & Beitrag klicken Sie auf farbige Zeile "Show Sprache der Statistik".