1

私は 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 を使用して、このような巨大なデータベースを処理するにはどうすればよいですか?

4

1 に答える 1