From 32b2b43c06621e384c0bd1610ef0bb9f23399be7 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 12 Jan 2018 11:47:45 +0100 Subject: Update follower/following counts --- server/initializers/constants.ts | 2 +- .../migrations/0175-actor-follow-counts.ts | 24 ++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 server/initializers/migrations/0175-actor-follow-counts.ts (limited to 'server/initializers') diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts index eda3403f2..2c64efe1f 100644 --- a/server/initializers/constants.ts +++ b/server/initializers/constants.ts @@ -9,7 +9,7 @@ import { isTestInstance, root, sanitizeHost, sanitizeUrl } from '../helpers/core // --------------------------------------------------------------------------- -const LAST_MIGRATION_VERSION = 170 +const LAST_MIGRATION_VERSION = 175 // --------------------------------------------------------------------------- diff --git a/server/initializers/migrations/0175-actor-follow-counts.ts b/server/initializers/migrations/0175-actor-follow-counts.ts new file mode 100644 index 000000000..06ef77b49 --- /dev/null +++ b/server/initializers/migrations/0175-actor-follow-counts.ts @@ -0,0 +1,24 @@ +import * as Sequelize from 'sequelize' +import { ACTOR_FOLLOW_SCORE } from '../index' + +async function up (utils: { + transaction: Sequelize.Transaction, + queryInterface: Sequelize.QueryInterface, + sequelize: Sequelize.Sequelize +}): Promise { + const query = 'UPDATE "actor" SET ' + + '"followersCount" = (SELECT COUNT(*) FROM "actorFollow" WHERE "actor"."id" = "actorFollow"."targetActorId"), ' + + '"followingCount" = (SELECT COUNT(*) FROM "actorFollow" WHERE "actor"."id" = "actorFollow"."actorId") ' + + 'WHERE "actor"."serverId" IS NULL' + + await utils.sequelize.query(query) +} + +function down (options) { + throw new Error('Not implemented.') +} + +export { + up, + down +} -- cgit v1.2.3