Commit 7999a564 authored by Rene Saarsoo's avatar Rene Saarsoo
Browse files

Add building of readings table data.

Rename read_comments table to readings.

Extract readings info from mongo_metas.
parent 75ea8f68
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -56,7 +56,7 @@ CREATE TABLE subscriptions (
    FOREIGN KEY (target_id) REFERENCES targets (id)
);

CREATE TABLE read_comments (
CREATE TABLE readings (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    user_id INT NOT NULL,
    comment_id INT NOT NULL,
+42 −0
Original line number Diff line number Diff line
@@ -43,6 +43,21 @@ var MongoSubscriptions = (function() {
    };
})();

var MongoMetas = (function() {
    function extract(data, next) {
        Meta.find({}, function(err, mongo_metas) {
            if (err) throw err;

            data.mongo_metas = mongo_metas;
            next();
        });
    }

    return {
        extract: extract
    };
})();


var UsersTable = (function() {
    function extract(data, next) {
@@ -343,6 +358,28 @@ var SubscriptionsTable = (function() {
    };
})();

var ReadingsTable = (function() {
    function extract(data, next) {
        var readings = [];

        data.mongo_metas.forEach(function(m) {
            readings.push({
                user_id: data.usersMapByExternalId[m.userId].id,
                comment_id: data.commentsMap[m.commentId].id,
                created_at: null
            });
        });

        addIds(readings);
        data.readings = readings;
        next();
    }

    return {
        extract: extract
    };
})();

// Calls an array of functions in sequence passing to each function
// the data argument and a function to call when it finishes.
function sequence(data, callbacks) {
@@ -384,6 +421,8 @@ sequence({}, [
    MongoComments.extract,
    asyncPrint("get mongo subscriptions..."),
    MongoSubscriptions.extract,
    asyncPrint("get mongo metas..."),
    MongoMetas.extract,

    asyncPrint("build users table..."),
    UsersTable.extract,
@@ -397,6 +436,8 @@ sequence({}, [
    UpdatesTable.extract,
    asyncPrint("build subscriptions table..."),
    SubscriptionsTable.extract,
    asyncPrint("build readings table..."),
    ReadingsTable.extract,

    function(data, next) {
        console.log(data.users.length + " users");
@@ -405,6 +446,7 @@ sequence({}, [
        console.log(data.votes.length + " votes");
        console.log(data.updates.length + " updates");
        console.log(data.subscriptions.length + " subscriptions");
        console.log(data.readings.length + " readings");
        process.exit();
    }
]);