Я запускаю Etherpad Lite с двух лет работы с sqlite. Теперь я перенесю базу данных в MySQL или Redis. Я использовал bin/migrateDirtyDBtoMySQL.js
как вдохновение для написания собственного сценария миграции. Вот оно:Лучший способ миграции огромных баз данных sqlite в Etherpad Lite
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 МБ и вызов:
node migrateSqliteDBtoEtherpad.js
прекращенные с сигналом поражения. Как я могу обрабатывать такие огромные базы данных с помощью nodejs и etherpad-lite?