node.js
node.js接口基于 better-sqlite3
安装
首先按照说明编译并安装 litesync从源代码中或使用预先编译的binaries 为您平台。您可以从免费版本开始。
然后,您可以使用此命令安装包装器:
npm install better-sqlite3-litesync
示例代码
主节点
const options = { verbose: console.log };
const uri = 'file:test.db?node=primary&bind=tcp://0.0.0.0:1234';
const db = require('better-sqlite3-litesync')(uri, options);
db.on('ready', function() {
db.exec('CREATE TABLE IF NOT EXISTS users (name, email)');
});
db.on('sync', function() {
console.log('数据库收到更新');
const rows = db.prepare('SELECT * FROM users').all();
for (var row of rows) {
console.log(row.name, row.email);
}
});
次级节点
const options = { verbose: console.log };
const uri = 'file:test.db?node=secondary&connect=tcp://127.0.0.1:1234';
const db = require('better-sqlite3-litesync')(uri, options);
db.on('ready', function() {
db.exec("INSERT INTO users (name, email) values ('john',123)");
});
db.on('sync', function() {
console.log('数据库收到更新');
const rows = db.prepare('SELECT * FROM users').all();
for (var row of rows) {
console.log(row.name, row.email);
}
});
您也可以通过以下方式检查状态
let res = db.prepare('PRAGMA sync_status').get();
let status = JSON.parse(res.sync_status);
故障排除
如果您的平台没有预构建的包装器二进制,则该安装可能会失败。在这种情况下,您的计算机需要具有适当的构建工具。
在 Windows 上
运行此命令:
npm install --global --production windows-build-tools
然后尝试再次安装包装器。