Node.js

El wrapper de Node.js se basa en better-sqlite3.



Instalación

Primero sigue las instrucciones para compilar e instalar LiteSync desde código fuente o usa los binarios precompilados para tu plataforma. Puedes comenzar con la versión gratuita.


Luego puede instalar el wrapper con este comando:


npm install better-sqlite3-litesync



Código de ejemplo
Nodo primario
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('la base de datos recibió actualizaciones');

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

});

Nodo secundario
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('la base de datos recibió actualizaciones');

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

});

También puede verificar el estado con:

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


Resolución de problemas

La instalación puede fallar si no hay un binario de wrapper preconstruido para su plataforma. En este caso, su computadora necesita tener las herramientas de compilación adecuadas.


En Windows

Ejecute este comando:

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

Luego intente instalar el wrapper nuevamente.