add tools
This commit is contained in:
parent
47c66c4c33
commit
b617b500cf
26
util/dbdump.js
Normal file
26
util/dbdump.js
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
#!/usr/bin/env node
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
var levelup = require('levelup');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var dbPath = process.argv[2];
|
||||||
|
var s = process.argv[3];
|
||||||
|
console.log('DB: ',dbPath); //TODO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var db = levelup(dbPath );
|
||||||
|
|
||||||
|
|
||||||
|
db.createReadStream({start: s, end: s+'~'})
|
||||||
|
.on('data', function (data) {
|
||||||
|
console.log(data.key + ' => ' + data.value); //TODO
|
||||||
|
})
|
||||||
|
.on('error', function () {
|
||||||
|
})
|
||||||
|
.on('end', function () {
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
63
util/migration.js
Normal file
63
util/migration.js
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
var levelup = require('levelup');
|
||||||
|
var bitcore = require('bitcore');
|
||||||
|
var _ = require('lodash');
|
||||||
|
|
||||||
|
var home = process.env['HOME'];
|
||||||
|
var db = new levelup(process.argv[2] || (home + '/.insight/testnet/emailstore'));
|
||||||
|
var newDb = new levelup(process.argv[3] || (home + '/.insight/testnet/emailstore.migrated'));
|
||||||
|
|
||||||
|
var transformStoredValue = function(key) {
|
||||||
|
var oldKey = key.substr('credentials-store-'.length);
|
||||||
|
return 'emailstore-' + bitcore.util.twoSha256(oldKey).toString('hex');
|
||||||
|
};
|
||||||
|
|
||||||
|
var transformPending = function(key) {
|
||||||
|
var oldKey = key.substr('validation-code-'.length);
|
||||||
|
return 'pending-' + oldKey;
|
||||||
|
};
|
||||||
|
|
||||||
|
var transformPassphrase = function(key) {
|
||||||
|
var oldKey = key.substr('map-email-'.length);
|
||||||
|
return 'email-to-passphrase-' + bitcore.util.twoSha256(oldKey).toString('hex');
|
||||||
|
};
|
||||||
|
|
||||||
|
var transformValidated = function(key) {
|
||||||
|
var oldKey = key.substr('validated-email-'.length);
|
||||||
|
return 'validated-' + bitcore.util.twoSha256(oldKey).toString('hex');
|
||||||
|
};
|
||||||
|
|
||||||
|
var checks = {
|
||||||
|
'credentials-store-': transformStoredValue,
|
||||||
|
'validation-code-': transformPending,
|
||||||
|
'map-email-': transformPassphrase,
|
||||||
|
'validated-email': transformValidated
|
||||||
|
};
|
||||||
|
|
||||||
|
db.createReadStream()
|
||||||
|
.on('data', function(data) {
|
||||||
|
console.log('- Analizing key: ' + data.key);
|
||||||
|
_.each(checks, function(checkFunction, checkName) {
|
||||||
|
|
||||||
|
if (data.key.indexOf(checkName) === 0) {
|
||||||
|
db.get('migration-' + data.key, function(err, value) {
|
||||||
|
if ((err && err.notFound) || data.value !== value) {
|
||||||
|
|
||||||
|
var newKey = checkFunction(data.key);
|
||||||
|
if (data.value !== value) {
|
||||||
|
console.log(' - ' + newKey + ' outdated, migrating...')
|
||||||
|
} else {
|
||||||
|
console.log(' - ' + data.key + ' not migrated, migrating to ' + newKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
newDb.put(newKey, data.value, function(err) {
|
||||||
|
if (err) {
|
||||||
|
console.log(' - Error migrating ' + data.key + '!', err);
|
||||||
|
} else {
|
||||||
|
db.put('migration-' + data.key, data.value, function() {});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
Loading…
Reference in New Issue
Block a user