diff --git a/web/core/local-db/utils/indexes.ts b/web/core/local-db/utils/indexes.ts index 0b2e987ed3..0eebad6c94 100644 --- a/web/core/local-db/utils/indexes.ts +++ b/web/core/local-db/utils/indexes.ts @@ -13,16 +13,12 @@ export const createIssueIndexes = async () => { "sequence_id", ]; - const promises: Promise[] = []; + await persistence.db.exec({ sql: `CREATE UNIQUE INDEX issues_issue_id_idx ON issues (id)` }); - promises.push(persistence.db.exec({ sql: `CREATE UNIQUE INDEX issues_issue_id_idx ON issues (id)` })); - - columns.forEach((column) => { - promises.push( - persistence.db.exec({ sql: `CREATE INDEX issues_issue_${column}_idx ON issues (project_id, ${column})` }) - ); - }); - await Promise.all(promises); + for (let i = 0; i < columns.length; i++) { + const column = columns[i]; + await persistence.db.exec({ sql: `CREATE INDEX issues_issue_${column}_idx ON issues (project_id, ${column})` }); + } }; export const createIssueMetaIndexes = async () => { @@ -31,33 +27,32 @@ export const createIssueMetaIndexes = async () => { }; export const createWorkSpaceIndexes = async () => { - const promises: Promise[] = []; // Labels - promises.push(persistence.db.exec({ sql: `CREATE INDEX labels_name_idx ON labels (id,name,project_id)` })); + await persistence.db.exec({ sql: `CREATE INDEX labels_name_idx ON labels (id,name,project_id)` }); // Modules - promises.push(persistence.db.exec({ sql: `CREATE INDEX modules_name_idx ON modules (id,name,project_id)` })); + await persistence.db.exec({ sql: `CREATE INDEX modules_name_idx ON modules (id,name,project_id)` }); // States - promises.push(persistence.db.exec({ sql: `CREATE INDEX states_name_idx ON states (id,name,project_id)` })); + await persistence.db.exec({ sql: `CREATE INDEX states_name_idx ON states (id,name,project_id)` }); // Cycles - promises.push(persistence.db.exec({ sql: `CREATE INDEX cycles_name_idx ON cycles (id,name,project_id)` })); + await persistence.db.exec({ sql: `CREATE INDEX cycles_name_idx ON cycles (id,name,project_id)` }); // Members - promises.push(persistence.db.exec({ sql: `CREATE INDEX members_name_idx ON members (id,first_name)` })); + await persistence.db.exec({ sql: `CREATE INDEX members_name_idx ON members (id,first_name)` }); // Estimate Points @todo - promises.push(persistence.db.exec({ sql: `CREATE INDEX estimate_points_name_idx ON estimate_points (id,value)` })); + await persistence.db.exec({ sql: `CREATE INDEX estimate_points_name_idx ON estimate_points (id,value)` }); // Options - promises.push(persistence.db.exec({ sql: `CREATE INDEX options_key_idx ON options (key)` })); - - await Promise.all(promises); + await persistence.db.exec({ sql: `CREATE INDEX options_key_idx ON options (key)` }); }; const createIndexes = async () => { log("### Creating indexes"); const start = performance.now(); - const promises = [createIssueIndexes(), createIssueMetaIndexes(), createWorkSpaceIndexes()]; + try { - await Promise.all(promises); + await createIssueIndexes(); + await createIssueMetaIndexes(); + await createWorkSpaceIndexes(); } catch (e) { console.log((e as Error).message); }