mirror of
https://github.com/makeplane/plane
synced 2025-08-07 19:59:33 +00:00
Compare commits
2 Commits
feat-recen
...
sequential
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c54f171c5a | ||
|
|
de0dbc0be5 |
@@ -225,14 +225,11 @@ export class Storage {
|
||||
const response = await issueService.getIssuesForSync(this.workspaceSlug, projectId, queryParams);
|
||||
|
||||
await addIssuesBulk(response.results, BATCH_SIZE);
|
||||
|
||||
if (response.total_pages > 1) {
|
||||
const promiseArray = [];
|
||||
for (let i = 1; i < response.total_pages; i++) {
|
||||
queryParams.cursor = `${PAGE_SIZE}:${i}:0`;
|
||||
promiseArray.push(issueService.getIssuesForSync(this.workspaceSlug, projectId, queryParams));
|
||||
}
|
||||
const pages = await Promise.all(promiseArray);
|
||||
for (const page of pages) {
|
||||
const page = await issueService.getIssuesForSync(this.workspaceSlug, projectId, queryParams);
|
||||
await addIssuesBulk(page.results, BATCH_SIZE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,16 +13,12 @@ export const createIssueIndexes = async () => {
|
||||
"sequence_id",
|
||||
];
|
||||
|
||||
const promises: Promise<any>[] = [];
|
||||
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<any>[] = [];
|
||||
// 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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user