Browse Source

basic import from redis implemented

master
Christian Müller 10 years ago
parent
commit
7490a86cb9
  1. 1
      .gitignore
  2. 64
      src/storage.js

1
.gitignore vendored

@ -2,3 +2,4 @@ dump.rdb
bin/ bin/
node_modules/ node_modules/
npm-debug.log npm-debug.log
database.sqlite

64
src/storage.js

@ -1,10 +1,5 @@
var redis = require("redis"), var redis = require("redis"),
client = redis.createClient({ client = redis.createClient();
return_buffers: true,
detect_buffers: false
});
var zlib = require('zlib');
var Sequelize = require('sequelize'); var Sequelize = require('sequelize');
var sequelize = new Sequelize('database', null, null, { var sequelize = new Sequelize('database', null, null, {
@ -17,28 +12,45 @@ var sequelize = new Sequelize('database', null, null, {
storage: 'database.sqlite' storage: 'database.sqlite'
}); });
client.hget("note", "2015/7/12/hom", function (err, B) { var Note = sequelize.define('Note', {
debugger id: { type: Sequelize.STRING, unique: true, primaryKey: true },
console.log("to unpack:", B.toString("base64")); text: Sequelize.TEXT,
var R = zlib.gunzipSync(B); published: { type: Sequelize.DATE, defaultValue: Sequelize.NOW },
console.log(R); edited: { type: Sequelize.DATE, allowNull: true, defaultValue: null },
}); publisher: Sequelize.STRING(32),
password: Sequelize.STRING(16),
/* views: Sequelize.INTEGER,
var User = sequelize.define('User', {
username: Sequelize.STRING,
birthday: Sequelize.DATE
}); });
sequelize.sync().then(function () { sequelize.sync().then(function () {
return User.create({ client.hgetall("note", function (err, notes) {
username: 'janedoe', console.log("notes retrieved:", Object.keys(notes).length);
birthday: new Date(1980, 6, 20) client.hgetall("published", function (err, published) {
console.log("published retrieved:", Object.keys(published).length);
client.hgetall("publisher", function (err, publisher) {
console.log("publisher retrieved:", Object.keys(publisher).length);
client.hgetall("password", function (err, password) {
console.log("password retrieved:", Object.keys(password).length);
client.hgetall("views", function (err, views) {
console.log("views retrieved:", Object.keys(views).length);
client.hgetall("edited", function (err, edited) {
console.log("edited retrieved:", Object.keys(edited).length);
console.log("all infos retrieved");
Object.keys(notes).forEach(function (id) {
Note.create({
id: id,
text: notes[id],
published: published[id] && new Date(published[id] * 1000) || new Date(),
publisher: publisher[id].indexOf("NPY") == -1 && publisher[id] || "NoteHub",
password: password[id] && password[id].length == 32 && password[id],
edited: !isNaN(edited[id]) && edited[id] && new Date(edited[id] * 1000) || null,
views: views[id],
}); });
}).then(function(jane) {
console.log(jane.get({
plain: true
}))
}); });
});
*/ });
});
});
});
});
})

Loading…
Cancel
Save