Changing how disk cleanup is performed.

This commit is contained in:
mike12345567 2024-06-06 15:07:06 +01:00
parent ac53a97176
commit 2c86ea14fd
2 changed files with 10 additions and 15 deletions

View File

@ -352,20 +352,15 @@ export class DatabaseImpl implements Database {
}
async destroy() {
try {
if (env.SQS_SEARCH_ENABLE) {
if (env.SQS_SEARCH_ENABLE && (await this.exists(SQLITE_DESIGN_DOC_ID))) {
// 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)
} catch (err: any) {
// design document doesn't exist, don't worry
} finally {
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 {
return await this.nano().db.destroy(this.name)
} catch (err: any) {
// didn't exist, don't worry

View File

@ -331,11 +331,11 @@ describe("/applications", () => {
it("should delete published app and dev app with prod app ID", async () => {
await config.api.application.delete(app.appId.replace("_dev", ""))
expect(events.app.deleted).toHaveBeenCalledTmes(1)
expect(events.app.deleted).toHaveBeenCalledTimes(1)
expect(events.app.unpublished).toHaveBeenCalledTimes(1)
})
it.only("should be able to delete an app after SQS_SEARCH_ENABLE has been set but app hasn't been migrated", async () => {
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)
})