Node.js

A interface Node.js é baseada em better-sqlite3



Instalação

Primeiro, siga as instruções para compilar e instalar litesync a partir do código-fonte ou usar os binários binários pré-compilados para o seuplataforma.Você pode começar com a versão gratuita.


Então você pode instalar o invólucro com este comando:


npm install better-sqlite3-litesync



Código de exemplo
Nó primário
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('the database received updates');

  const rows = db.prepare('SELECT * FROM users').all();
  for (var row of rows) {
    console.log(row.name, row.email);
  }

});

Nó secundário
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('the database received updates');

  const rows = db.prepare('SELECT * FROM users').all();
  for (var row of rows) {
    console.log(row.name, row.email);
  }

});

Você também pode verificar o status com:

let res = db.prepare('PRAGMA sync_status').get();
let status = JSON.parse(res.sync_status);


Solução de problemas

A instalação pode falhar se não houver binário de wrapper pré-construído para sua plataforma.Nesse caso, seu computador precisa ter as ferramentas de construção adequadas.


No Windows

Execute este comando:

npm install --global --production windows-build-tools

Then try to install the wrapper again.