mirror of
https://github.com/makeplane/plane
synced 2025-08-07 19:59:33 +00:00
Compare commits
2 Commits
web
...
sequential
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c54f171c5a | ||
|
|
de0dbc0be5 |
@@ -225,14 +225,11 @@ export class Storage {
|
|||||||
const response = await issueService.getIssuesForSync(this.workspaceSlug, projectId, queryParams);
|
const response = await issueService.getIssuesForSync(this.workspaceSlug, projectId, queryParams);
|
||||||
|
|
||||||
await addIssuesBulk(response.results, BATCH_SIZE);
|
await addIssuesBulk(response.results, BATCH_SIZE);
|
||||||
|
|
||||||
if (response.total_pages > 1) {
|
if (response.total_pages > 1) {
|
||||||
const promiseArray = [];
|
|
||||||
for (let i = 1; i < response.total_pages; i++) {
|
for (let i = 1; i < response.total_pages; i++) {
|
||||||
queryParams.cursor = `${PAGE_SIZE}:${i}:0`;
|
queryParams.cursor = `${PAGE_SIZE}:${i}:0`;
|
||||||
promiseArray.push(issueService.getIssuesForSync(this.workspaceSlug, projectId, queryParams));
|
const page = await issueService.getIssuesForSync(this.workspaceSlug, projectId, queryParams);
|
||||||
}
|
|
||||||
const pages = await Promise.all(promiseArray);
|
|
||||||
for (const page of pages) {
|
|
||||||
await addIssuesBulk(page.results, BATCH_SIZE);
|
await addIssuesBulk(page.results, BATCH_SIZE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,16 +13,12 @@ export const createIssueIndexes = async () => {
|
|||||||
"sequence_id",
|
"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)` }));
|
for (let i = 0; i < columns.length; i++) {
|
||||||
|
const column = columns[i];
|
||||||
columns.forEach((column) => {
|
await persistence.db.exec({ sql: `CREATE INDEX issues_issue_${column}_idx ON issues (project_id, ${column})` });
|
||||||
promises.push(
|
}
|
||||||
persistence.db.exec({ sql: `CREATE INDEX issues_issue_${column}_idx ON issues (project_id, ${column})` })
|
|
||||||
);
|
|
||||||
});
|
|
||||||
await Promise.all(promises);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export const createIssueMetaIndexes = async () => {
|
export const createIssueMetaIndexes = async () => {
|
||||||
@@ -31,33 +27,32 @@ export const createIssueMetaIndexes = async () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const createWorkSpaceIndexes = async () => {
|
export const createWorkSpaceIndexes = async () => {
|
||||||
const promises: Promise<any>[] = [];
|
|
||||||
// Labels
|
// 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
|
// 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
|
// 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
|
// 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
|
// 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
|
// 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
|
// Options
|
||||||
promises.push(persistence.db.exec({ sql: `CREATE INDEX options_key_idx ON options (key)` }));
|
await persistence.db.exec({ sql: `CREATE INDEX options_key_idx ON options (key)` });
|
||||||
|
|
||||||
await Promise.all(promises);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const createIndexes = async () => {
|
const createIndexes = async () => {
|
||||||
log("### Creating indexes");
|
log("### Creating indexes");
|
||||||
const start = performance.now();
|
const start = performance.now();
|
||||||
const promises = [createIssueIndexes(), createIssueMetaIndexes(), createWorkSpaceIndexes()];
|
|
||||||
try {
|
try {
|
||||||
await Promise.all(promises);
|
await createIssueIndexes();
|
||||||
|
await createIssueMetaIndexes();
|
||||||
|
await createWorkSpaceIndexes();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log((e as Error).message);
|
console.log((e as Error).message);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user