Node.js

Node.js インターフェイスは、 better-sqlite3 に基づいています



インストール

最初に、の指示に従って、ソースコードから litesyncをコンパイルしてインストールするか、事前にコンパイルされたバイナリを使用しますプラットホーム。無料版から始めることができます。


次に、このコマンドでラッパーをインストールできます。


npm install better-sqlite3-litesync



例コード
プライマリノード
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('データベースは更新を受信しました');

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

});

セカンダリノード
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('データベースは更新を受信しました');

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

});

ステータスを確認することもできます:

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


トラブルシューティング

プラットフォームに事前に構築されたラッパーバイナリがない場合、インストールは失敗する可能性があります。この場合、コンピューターには適切なビルドツールが必要です.


Windowsで

このコマンドを実行します:

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

次に、ラッパーをもう一度インストールしてみてください。