javascript - 使用 sqlite 将 sequelize.js 连接到 node-webkit 桌面应用程序

标签 javascript angularjs sqlite sequelize.js node-webkit

目前我在 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/

相关文章:

javascript - 如何实现像 Prezi.com flash prezentation editor 这样的应用程序?

javascript - Chrome/Safari 在某些情况下不调用卸载

javascript - 如何拆分长 GraphQL 模式

javascript - $sce.trustAsHtml 无法按预期工作

angularjs - 使用 ng-options 选择且模型中未设置默认值的 IE10 始终选择下拉列表中的第一个元素

c++ - 如何将 boost::serialize 成 sqlite::blob?

javascript - 这两个正则表达式有什么区别? (理解?量词)

angularjs - ng-flow 发出 GET,但不发出 POST

android - 从 SQLite 数据库填充自定义 ListView

perl - 有了SQL SELECT查询,如何获得项目数?