Node.js

L'interface Node.js est basée sur better-sqlite3



Installation

Suivez d'abord les instructions vers compiler et installer litesync du code source ou utiliser le binaires pré-compilés pour votreplateforme.Vous pouvez commencer par la version gratuite.


Ensuite, vous pouvez installer l'emballage avec cette commande:


npm install better-sqlite3-litesync



Exemple de code
Nœud principal
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 données a reçu des mises à jour');

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

});

Nœud secondaire
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 données a reçu des mises à jour');

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

});

Vous pouvez également vérifier l'état avec:

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


Dépannage

L'installation peut échouer s'il n'y a pas de binaire en wrapper prédéfini pour votre plate-forme.Dans ce cas, votre ordinateur doit avoir les outils de construction appropriés.


sur Windows

Run this command:

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

Ensuite, essayez d'installer à nouveau l'emballage.