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;
|
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 com.iqser.red.service.persistence.management.v1.processor.service.persistence.MigrationPersistenceService;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@ -21,11 +19,14 @@ public abstract class Migration {
|
|||||||
@Setter
|
@Setter
|
||||||
private MigrationPersistenceService migrationPersistenceService;
|
private MigrationPersistenceService migrationPersistenceService;
|
||||||
|
|
||||||
|
|
||||||
public void run() {
|
public void run() {
|
||||||
|
run(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void run(boolean force) {
|
||||||
|
|
||||||
var latestProcessedVersion = migrationPersistenceService.getLatestProcessedVersion();
|
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);
|
log.info("Starting migration with name {} and version {}", name, version);
|
||||||
migrate();
|
migrate();
|
||||||
migrationPersistenceService.insertMigration(name, version);
|
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