소스 검색

remove trunk 'new trunk'

masarifyuli 2 주 전
부모
커밋
56a542506c
2개의 변경된 파일8개의 추가작업 그리고 3개의 파일을 삭제
  1. 1 0
      config/migration.yml
  2. 7 3
      src/main/kotlin/com/datacomsolusindo/migration/MigrationEntity.kt

+ 1 - 0
config/migration.yml

@@ -63,6 +63,7 @@ migration:
       direction: cap_direction
       appliedDate: history.app_datetime
       expiredDate: history.exp_datetime
+      subscribedNo: history.trunk_number
   - target: costCenter
     table: costcenter
     history: costcenterhistory

+ 7 - 3
src/main/kotlin/com/datacomsolusindo/migration/MigrationEntity.kt

@@ -113,7 +113,7 @@ class MigrationEntity(val passwordEncoder: PasswordEncoder, val queryNativeServi
             }
         } else {
             val chunkData = rootData
-//                .take(10)
+//                .take(50)
                 .chunked(1000)
             logger.info("data migration class ${clazz.simpleName} chunk data ${chunkData.size}")
             chunkData.forEachIndexed { _, data ->
@@ -129,6 +129,8 @@ class MigrationEntity(val passwordEncoder: PasswordEncoder, val queryNativeServi
                         uniqueFieldId
                     )
                 }.map { postProcessPassword(it) }
+//                dataMap.forEach { dm -> println(Util.mapper.writeValueAsString(dm)) }
+
                 queueInsertData.put((clazz as Class<out BaseEntity>) to dataMap)
             }
         }
@@ -144,7 +146,7 @@ class MigrationEntity(val passwordEncoder: PasswordEncoder, val queryNativeServi
         if (historyData == null || uniqueFieldId == null) return null
         return historyData
             .groupBy { if (byId) it[uniqueFieldId] else it[uniqueField] }
-            .mapValues { (_, items) ->
+            .mapValues { (_, items) ->k
                 items.maxByOrNull {
                     it[uniqueFieldId.removePrefix("history.")]
                         ?.toString()
@@ -244,7 +246,9 @@ class MigrationEntity(val passwordEncoder: PasswordEncoder, val queryNativeServi
             "migration read query data ${result.value.size} takes time " +
                     "${result.duration.inWholeMilliseconds}ms"
         )
-        return result.value
+        return if (file.name.contains("trunk_history")) {
+            result.value.filter { f -> f.get("trunk_number")?.toString()?.let { t -> t != "new trunk"} ?: true }
+        } else result.value
     }
 
     fun readQueryExample(sql: String): Map<String, Any?> {