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

然后尝试再次安装包装器。