Add new vendors, brands, categories tables and calculate scripts

This commit is contained in:
2025-04-01 01:12:03 -04:00
parent 97296946f1
commit a9dbbbf824
11 changed files with 452 additions and 39 deletions

View File

@@ -8,6 +8,9 @@ const { Pool } = require('pg'); // Assuming you use 'pg'
const RUN_DAILY_SNAPSHOTS = true;
const RUN_PRODUCT_METRICS = true;
const RUN_PERIODIC_METRICS = true;
const RUN_BRAND_METRICS = true;
const RUN_VENDOR_METRICS = true;
const RUN_CATEGORY_METRICS = true;
// Maximum execution time for the entire sequence (e.g., 90 minutes)
const MAX_EXECUTION_TIME_TOTAL = 90 * 60 * 1000;
@@ -629,6 +632,27 @@ async function runAllCalculations() {
sqlFile: 'metrics-new/update_periodic_metrics.sql',
historyType: 'periodic_metrics',
statusModule: 'periodic_metrics'
},
{
run: RUN_BRAND_METRICS,
name: 'Brand Metrics Update',
sqlFile: 'metrics-new/calculate_brand_metrics.sql',
historyType: 'brand_metrics',
statusModule: 'brand_metrics'
},
{
run: RUN_VENDOR_METRICS,
name: 'Vendor Metrics Update',
sqlFile: 'metrics-new/calculate_vendor_metrics.sql',
historyType: 'vendor_metrics',
statusModule: 'vendor_metrics'
},
{
run: RUN_CATEGORY_METRICS,
name: 'Category Metrics Update',
sqlFile: 'metrics-new/calculate_category_metrics.sql',
historyType: 'category_metrics',
statusModule: 'category_metrics'
}
];
@@ -707,6 +731,9 @@ if (require.main === module) {
runDailySnapshots: () => executeSqlStep({ name: 'Daily Snapshots Update', sqlFile: 'update_daily_snapshots.sql', historyType: 'daily_snapshots', statusModule: 'daily_snapshots' }, progressUtils),
runProductMetrics: () => executeSqlStep({ name: 'Product Metrics Update', sqlFile: 'update_product_metrics.sql', historyType: 'product_metrics', statusModule: 'product_metrics' }, progressUtils),
runPeriodicMetrics: () => executeSqlStep({ name: 'Periodic Metrics Update', sqlFile: 'update_periodic_metrics.sql', historyType: 'periodic_metrics', statusModule: 'periodic_metrics' }, progressUtils),
runBrandMetrics: () => executeSqlStep({ name: 'Brand Metrics Update', sqlFile: 'calculate_brand_metrics.sql', historyType: 'brand_metrics', statusModule: 'brand_metrics' }, progressUtils),
runVendorMetrics: () => executeSqlStep({ name: 'Vendor Metrics Update', sqlFile: 'calculate_vendor_metrics.sql', historyType: 'vendor_metrics', statusModule: 'vendor_metrics' }, progressUtils),
runCategoryMetrics: () => executeSqlStep({ name: 'Category Metrics Update', sqlFile: 'calculate_category_metrics.sql', historyType: 'category_metrics', statusModule: 'category_metrics' }, progressUtils),
getProgress: progressUtils.getProgress
};
}