node.js

Die Schnittstelle von node.js basiert auf better-sqlite3



Installation

Befolgen Sie zunächst die Anweisungen an kompilieren und installieren Litesync aus dem Quellcode oder verwenden Sie die vorkompilierte Binärdateien für IhrePlattform.Sie können mit der kostenlosen Version beginnen.


Dann können Sie den Wrapper mit diesem Befehl installieren:


npm install better-sqlite3-litesync



Beispielcode
Primärknoten
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);
  }

});

Sekundärknoten
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('Die Datenbank empfangene Aktualisierungen');

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

});

Sie können den Status auch überprüfen mit:

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


Fehlerbehebung

Die Installation kann ausfallen, wenn keine vorgefertigte Wrapper-Binärdatei für Ihre Plattform vorhanden ist. In diesem Fall muss Ihr Computer über die richtigen Build -Tools verfügen.


Unter Windows

Führen Sie diesen Befehl aus:

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

Versuchen Sie dann erneut, den Wrapper zu installieren.