diff --git a/src/ORM/_migrations/PoolSummaryContinuousAggregate1781400000000.ts b/src/ORM/_migrations/PoolSummaryContinuousAggregate1781400000000.ts index 12d168e..517edc4 100644 --- a/src/ORM/_migrations/PoolSummaryContinuousAggregate1781400000000.ts +++ b/src/ORM/_migrations/PoolSummaryContinuousAggregate1781400000000.ts @@ -20,7 +20,7 @@ export class PoolSummaryContinuousAggregate1781400000000 implements MigrationInt await queryRunner.query(` SELECT add_continuous_aggregate_policy( 'accepted_share_pool_10m', - start_offset => INTERVAL '2 days', + start_offset => INTERVAL '25 hours', end_offset => INTERVAL '1 minute', schedule_interval => INTERVAL '1 minute', if_not_exists => TRUE diff --git a/src/ORM/_migrations/PoolSummaryRefreshWindow1781401000000.ts b/src/ORM/_migrations/PoolSummaryRefreshWindow1781401000000.ts new file mode 100644 index 0000000..2c78657 --- /dev/null +++ b/src/ORM/_migrations/PoolSummaryRefreshWindow1781401000000.ts @@ -0,0 +1,42 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class PoolSummaryRefreshWindow1781401000000 implements MigrationInterface { + public name = 'PoolSummaryRefreshWindow1781401000000'; + public transaction = false; + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + SELECT remove_continuous_aggregate_policy( + 'accepted_share_pool_10m', + if_exists => TRUE + ) + `); + await queryRunner.query(` + SELECT add_continuous_aggregate_policy( + 'accepted_share_pool_10m', + start_offset => INTERVAL '25 hours', + end_offset => INTERVAL '1 minute', + schedule_interval => INTERVAL '1 minute', + if_not_exists => TRUE + ) + `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + SELECT remove_continuous_aggregate_policy( + 'accepted_share_pool_10m', + if_exists => TRUE + ) + `); + await queryRunner.query(` + SELECT add_continuous_aggregate_policy( + 'accepted_share_pool_10m', + start_offset => INTERVAL '2 days', + end_offset => INTERVAL '1 minute', + schedule_interval => INTERVAL '1 minute', + if_not_exists => TRUE + ) + `); + } +} diff --git a/src/database.config.ts b/src/database.config.ts index a10d956..e8708da 100644 --- a/src/database.config.ts +++ b/src/database.config.ts @@ -19,6 +19,7 @@ import { ShareRollupStoragePolicy1781305000000 } from './ORM/_migrations/ShareRo import { AcceptedShareHighScores1781309000000 } from './ORM/_migrations/AcceptedShareHighScores1781309000000'; import { UserAgentReportNonzeroHashrate1781313000000 } from './ORM/_migrations/UserAgentReportNonzeroHashrate1781313000000'; import { PoolSummaryContinuousAggregate1781400000000 } from './ORM/_migrations/PoolSummaryContinuousAggregate1781400000000'; +import { PoolSummaryRefreshWindow1781401000000 } from './ORM/_migrations/PoolSummaryRefreshWindow1781401000000'; import { UserAgentReportView } from './ORM/_views/user-agent-report/user-agent-report.view'; import { AcceptedShareEntity } from './ORM/accepted-share/accepted-share.entity'; import { AddressSettingsEntity } from './ORM/address-settings/address-settings.entity'; @@ -64,6 +65,7 @@ export const databaseMigrations = [ AcceptedShareHighScores1781309000000, UserAgentReportNonzeroHashrate1781313000000, PoolSummaryContinuousAggregate1781400000000, + PoolSummaryRefreshWindow1781401000000, ]; export function createDatabaseOptions(env: NodeJS.ProcessEnv): TypeOrmModuleOptions & DataSourceOptions {