Browse Source

Fix: Handle datasource not exists for query

pull/6372/head
Rory Powell 4 years ago
parent
commit
3941272c99
  1. 1
      packages/server/src/migrations/functions/backfill/app.ts
  2. 21
      packages/server/src/migrations/functions/backfill/app/queries.ts
  3. 4
      packages/server/src/migrations/functions/backfill/global.ts

1
packages/server/src/migrations/functions/backfill/app.ts

@ -20,6 +20,7 @@ const handleError = (e: any, errors?: any) => {
}
return
}
console.trace(e)
throw e
}

21
packages/server/src/migrations/functions/backfill/app/queries.ts

@ -22,10 +22,23 @@ export const backfill = async (appDb: any, timestamp: string | number) => {
const queries: Query[] = await getQueries(appDb)
for (const query of queries) {
const datasource: Datasource = await getDatasource(
appDb,
query.datasourceId
)
let datasource: Datasource
try {
datasource = await getDatasource(appDb, query.datasourceId)
} catch (e: any) {
// handle known bug where a datasource has been deleted
// and the query has not
if (e.status === 404) {
datasource = {
_id: query.datasourceId,
source: "unknown",
}
} else {
throw e
}
}
await events.query.created(datasource, query, timestamp)
}

4
packages/server/src/migrations/functions/backfill/global.ts

@ -105,7 +105,9 @@ export const run = async (db: any) => {
if (!allUsers || allUsers.length === 0) {
// first time startup - we don't need to backfill anything
// tenant will be identified when admin user is created
await events.installation.firstStartup()
if (env.SELF_HOSTED) {
await events.installation.firstStartup()
}
return
}

Loading…
Cancel
Save