06ef77b49a6893f23f7af03f393c7e687a9a2913
[oweals/peertube.git] / server / initializers / migrations / 0175-actor-follow-counts.ts
1 import * as Sequelize from 'sequelize'
2 import { ACTOR_FOLLOW_SCORE } from '../index'
3
4 async function up (utils: {
5   transaction: Sequelize.Transaction,
6   queryInterface: Sequelize.QueryInterface,
7   sequelize: Sequelize.Sequelize
8 }): Promise<void> {
9   const query = 'UPDATE "actor" SET ' +
10   '"followersCount" = (SELECT COUNT(*) FROM "actorFollow" WHERE "actor"."id" = "actorFollow"."targetActorId"), ' +
11   '"followingCount" = (SELECT COUNT(*) FROM "actorFollow" WHERE "actor"."id" = "actorFollow"."actorId") ' +
12   'WHERE "actor"."serverId" IS NULL'
13
14   await utils.sequelize.query(query)
15 }
16
17 function down (options) {
18   throw new Error('Not implemented.')
19 }
20
21 export {
22   up,
23   down
24 }