私は 2 年間 sqlite で Etherpad Lite を使用しています。次に、データベースを MySQL または Redis に移行します。bin/migrateDirtyDBtoMySQL.js
私は自分の小さな移行スクリプトを書くためのインスピレーションとして使用しました。ここにあります:
require("ep_etherpad-lite/node_modules/npm").load({}, function(er,npm) {
process.chdir(npm.root+'/..');
var settings = require("ep_etherpad-lite/node/utils/Settings");
var sqlite3 = require('sqlite3');
var sqliteDb = new sqlite3.Database('var/sqlite.db');
var db = require("ep_etherpad-lite/node/db/DB");
db.init(function() {
db = db.db;
sqliteDb.each("SELECT * FROM store", function(err, row) {
db.set(row.key,row.value);
});
});
});
sqlite3 依存関係がインストールされた後、それは機能しますが、私の sqlite.db ファイルは 700 MB を超えており、呼び出し:
node migrateSqliteDBtoEtherpad.js
kill シグナルで終了します。nodejs と etherpad-lite を使用して、このような巨大なデータベースを処理するにはどうすればよいですか?