diff --git a/migration/1662915983383-ProjectPowerView.ts b/migration/1662915983385-ProjectPowerView.ts similarity index 95% rename from migration/1662915983383-ProjectPowerView.ts rename to migration/1662915983385-ProjectPowerView.ts index 0fba50d8a..436a6b5a1 100644 --- a/migration/1662915983383-ProjectPowerView.ts +++ b/migration/1662915983385-ProjectPowerView.ts @@ -1,6 +1,6 @@ import { MigrationInterface, QueryRunner } from 'typeorm'; -export class ProjectPowerView1662915983384 implements MigrationInterface { +export class ProjectPowerView1662915983385 implements MigrationInterface { async up(queryRunner: QueryRunner): Promise { await queryRunner.query( ` @@ -9,7 +9,7 @@ export class ProjectPowerView1662915983384 implements MigrationInterface { CREATE MATERIALIZED VIEW IF NOT EXISTS public.project_power_view AS SELECT innerview."projectId", - innerview."totalPower", + ROUND(CAST(innerview."totalPower" as NUMERIC), 2) as "totalPower", rank() OVER ( ORDER BY innerview."totalPower" DESC diff --git a/src/views/projectPowerView.ts b/src/views/projectPowerView.ts index 8c37ef877..bb6c5defd 100644 --- a/src/views/projectPowerView.ts +++ b/src/views/projectPowerView.ts @@ -6,9 +6,11 @@ import { RelationId, BaseEntity, PrimaryColumn, + Column, } from 'typeorm'; import { Project } from '../entities/project'; -import { Field, Int, ObjectType } from 'type-graphql'; +import { Field, Float, Int, ObjectType } from 'type-graphql'; +import { ColumnNumericTransformer } from '../utils/entities'; @ViewEntity('project_power_view', { synchronize: false }) @ObjectType() @@ -20,7 +22,11 @@ export class ProjectPowerView extends BaseEntity { projectId: number; @ViewColumn() - @Field() + @Field(type => Float) + @Column('numeric', { + scale: 2, + transformer: new ColumnNumericTransformer(), + }) totalPower: number; @Field(type => Project) diff --git a/test/pre-test-scripts.ts b/test/pre-test-scripts.ts index 2056dad4d..175ab8c3f 100644 --- a/test/pre-test-scripts.ts +++ b/test/pre-test-scripts.ts @@ -23,7 +23,7 @@ import { NETWORK_IDS } from '../src/provider'; import { MainCategory } from '../src/entities/mainCategory'; import { getConnection } from 'typeorm'; import { UserProjectPowerView1662877385339 } from '../migration/1662877385339-UserProjectPowerView'; -import { ProjectPowerView1662915983384 } from '../migration/1662915983383-ProjectPowerView'; +import { ProjectPowerView1662915983385 } from '../migration/1662915983385-ProjectPowerView'; import { TakePowerBoostingSnapshotProcedure1663594895751 } from '../migration/1663594895751-takePowerSnapshotProcedure'; import { ProjectFuturePowerView1668411738120 } from '../migration/1668411738120-ProjectFuturePowerView'; import { createGivPowerHistoricTablesProcedure1670429143091 } from '../migration/1670429143091-createGivPowerHistoricTablesProcedure'; @@ -299,7 +299,7 @@ async function runMigrations() { try { const userProjectPowerView = new UserProjectPowerView1662877385339(); - const projectPowerView = new ProjectPowerView1662915983384(); + const projectPowerView = new ProjectPowerView1662915983385(); const projectFuturePowerView = new ProjectFuturePowerView1668411738120(); const takeSnapshotProcedure = new TakePowerBoostingSnapshotProcedure1663594895751();