From 169d843e0ce9dca38d6c263385023910c86e6886 Mon Sep 17 00:00:00 2001
From: Guilhem CARRON <gcarron@grandlyon.com>
Date: Mon, 7 Feb 2022 08:23:38 +0000
Subject: [PATCH] fix(migration): Prevent deprecated migration to launch

---
 src/migrations/migration.data.ts | 5 +++--
 src/migrations/migration.ts      | 6 ++++--
 src/migrations/migration.type.ts | 1 +
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/migrations/migration.data.ts b/src/migrations/migration.data.ts
index a99bd4e99..c49f9a02b 100644
--- a/src/migrations/migration.data.ts
+++ b/src/migrations/migration.data.ts
@@ -288,6 +288,7 @@ export const migrations: Migration[] = [
     releaseNotes: null,
     docTypes: FLUIDPRICES_DOCTYPE,
     isCreate: true,
+    isDeprecated: true,
     run: async (_client: Client, docs: any[]): Promise<any> => {
       return null
     },
@@ -497,9 +498,9 @@ export const migrations: Migration[] = [
     description: 'Init new fluidPrices for water -- deprecated --',
     releaseNotes: null,
     docTypes: FLUIDPRICES_DOCTYPE,
-
+    isDeprecated: true,
     run: async (_client: Client, docs: any[]): Promise<any> => {
-      return null
+      return {}
     },
   },
   {
diff --git a/src/migrations/migration.ts b/src/migrations/migration.ts
index 6dfe010f6..fa923665f 100644
--- a/src/migrations/migration.ts
+++ b/src/migrations/migration.ts
@@ -143,7 +143,9 @@ export async function migrate(
         migration.docTypes,
         migration.queryOptions
       )
-      if (docToUpdate.length && !migration.isCreate) {
+      if (migration.isDeprecated) {
+        result = migrationNoop()
+      } else if (docToUpdate.length && !migration.isCreate) {
         const migratedDocs = await migration.run(_client, docToUpdate)
         if (migratedDocs.length) {
           result = await save(_client, migratedDocs)
@@ -155,7 +157,7 @@ export async function migrate(
       }
 
       // Handle new doctype creation
-      if (migration.isCreate) {
+      if (migration.isCreate && !migration.isDeprecated) {
         await migration.run(_client, docToUpdate)
         result = { type: MIGRATION_RESULT_COMPLETE, errors: [] }
       }
diff --git a/src/migrations/migration.type.ts b/src/migrations/migration.type.ts
index 84ebe24e5..505363b2f 100644
--- a/src/migrations/migration.type.ts
+++ b/src/migrations/migration.type.ts
@@ -28,6 +28,7 @@ export type Migration = {
   releaseNotes: Notes | null
   docTypes: string
   isCreate?: boolean
+  isDeprecated?: boolean
   queryOptions?: MigrationQueryOptions
   appVersion: string
   run: (_client: Client, docs: any[]) => Promise<any[]>
-- 
GitLab