目前我在 node-webkit 上使用 node-sqlite3 sqlite 绑定(bind)桌面应用程序并将其用作
var sqlite3 = require('node_sqlite3').verbose();
var db = new sqlite3.Database('file:data.db');
db.run(query);
据我所知, native 编译的 node-sqlite3 是将 sqlite db 与 node-webkit 结合使用的唯一方法。
现在我想使用 sequelize在通常用作的应用程序上:
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)
})
我怎样才能做到这一点? (即在带有 sqlite 的 node-webkit 应用程序上使用 sequelize)
目标是通过运行迁移使数据库生活更轻松,使用模型来操作数据库,或者建议是否有任何其他 javascript 库(首选 mvc),它可以通过 node-webkit+sqlite 工作(以及如何让它们工作)。
angularjs 是一个选项吗?如果是,该怎么做。
谢谢。
最佳答案
我找到了解决方案。在对 node-webkit 使用以下 sqlite3 并按照
中的方式重建它之后 node sqlite 3 for node-webkit
它在 node_modules 中创建了一个名为“node_sqlite3”的文件夹。我将“node_sqlite3”重命名为“sqlite3”。然后 npm-install 的 sequelize-sqlite 。
这样sequelize-sqlite自动识别并连接到sqlite3后就可以正常使用了。
var Sequelize = require('sequelize-sqlite').sequelize
var sqlite = require('sequelize-sqlite').sqlite
var sequelize = new Sequelize('database', 'username', '', {
dialect: 'sqlite',
storage: 'file:data.db'
})
var Record = sequelize.define('Record', {
name: Sequelize.STRING,
quantity: Sequelize.INTEGER
})
sequelize.sync()
.success(function(){
console.log('synced')
})
var rec = Record.build({ name: "sunny", quantity: 3 });
rec.save()
.error(function(err) {
// error callback
alert('somethings wrong')
})
.success(function() {
// success callback
console.log('inserted')
});
并且记录在数据库中。
关于javascript - 使用 sqlite 将 sequelize.js 连接到 node-webkit 桌面应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18291476/