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.