migration manual run ctrl RED-3800
This commit is contained in:
parent
b82d20473d
commit
5c57634d9c
@ -1,13 +1,11 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.MigrationPersistenceService;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
@Data
|
||||
@Slf4j
|
||||
@ -21,11 +19,14 @@ public abstract class Migration {
|
||||
@Setter
|
||||
private MigrationPersistenceService migrationPersistenceService;
|
||||
|
||||
|
||||
public void run() {
|
||||
run(false);
|
||||
}
|
||||
|
||||
public void run(boolean force) {
|
||||
|
||||
var latestProcessedVersion = migrationPersistenceService.getLatestProcessedVersion();
|
||||
if (!migrationPersistenceService.isProcessed(version, latestProcessedVersion)) {
|
||||
if (!migrationPersistenceService.isProcessed(version, latestProcessedVersion) || force) {
|
||||
log.info("Starting migration with name {} and version {}", name, version);
|
||||
migrate();
|
||||
migrationPersistenceService.insertMigration(name, version);
|
||||
|
||||
@ -0,0 +1,28 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/private/migration")
|
||||
public class MigrationController {
|
||||
|
||||
private final List<Migration> migrations;
|
||||
|
||||
|
||||
@PostMapping
|
||||
public void run(@RequestParam("migrationName") String migrationName, @RequestParam("force") boolean force) {
|
||||
migrations.stream().filter(m -> m.getName().equalsIgnoreCase(migrationName) || m.getClass().getSimpleName().equalsIgnoreCase(migrationName))
|
||||
.forEach(m -> m.run(force));
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user