Merge pull request #13868 from Budibase/fix-sqs-cleanup-on-app-delete
Fix application deletion when SQS is enabled.
This commit is contained in:
commit
ea4c3ff5f4
|
@ -352,18 +352,15 @@ export class DatabaseImpl implements Database {
|
||||||
}
|
}
|
||||||
|
|
||||||
async destroy() {
|
async destroy() {
|
||||||
|
if (env.SQS_SEARCH_ENABLE && (await this.exists(SQLITE_DESIGN_DOC_ID))) {
|
||||||
|
// delete the design document, then run the cleanup operation
|
||||||
|
const definition = await this.get<SQLiteDefinition>(SQLITE_DESIGN_DOC_ID)
|
||||||
|
// remove all tables - save the definition then trigger a cleanup
|
||||||
|
definition.sql.tables = {}
|
||||||
|
await this.put(definition)
|
||||||
|
await this.sqlDiskCleanup()
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
if (env.SQS_SEARCH_ENABLE) {
|
|
||||||
// delete the design document, then run the cleanup operation
|
|
||||||
try {
|
|
||||||
const definition = await this.get<SQLiteDefinition>(
|
|
||||||
SQLITE_DESIGN_DOC_ID
|
|
||||||
)
|
|
||||||
await this.remove(SQLITE_DESIGN_DOC_ID, definition._rev)
|
|
||||||
} finally {
|
|
||||||
await this.sqlDiskCleanup()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return await this.nano().db.destroy(this.name)
|
return await this.nano().db.destroy(this.name)
|
||||||
} catch (err: any) {
|
} catch (err: any) {
|
||||||
// didn't exist, don't worry
|
// didn't exist, don't worry
|
||||||
|
|
|
@ -334,6 +334,12 @@ describe("/applications", () => {
|
||||||
expect(events.app.deleted).toHaveBeenCalledTimes(1)
|
expect(events.app.deleted).toHaveBeenCalledTimes(1)
|
||||||
expect(events.app.unpublished).toHaveBeenCalledTimes(1)
|
expect(events.app.unpublished).toHaveBeenCalledTimes(1)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it("should be able to delete an app after SQS_SEARCH_ENABLE has been set but app hasn't been migrated", async () => {
|
||||||
|
await config.withCoreEnv({ SQS_SEARCH_ENABLE: "true" }, async () => {
|
||||||
|
await config.api.application.delete(app.appId)
|
||||||
|
})
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe("POST /api/applications/:appId/duplicate", () => {
|
describe("POST /api/applications/:appId/duplicate", () => {
|
||||||
|
|
Loading…
Reference in New Issue