summaryrefslogtreecommitdiff
path: root/src/main/java/dev/dnpm/oshelper/migration/MigrationUtils.java
diff options
context:
space:
mode:
authorPaul-Christian Volkmer2026-11-13 10:44:18 +0100
committerPaul-Christian Volkmer2026-11-13 10:44:18 +0100
commit6f5d91fbab966d627e28f8269dae97f1f88ccfbe (patch)
tree33f870d60e3e962117dc3588e2a40a1626b8ea75 /src/main/java/dev/dnpm/oshelper/migration/MigrationUtils.java
parent86b4026bcfaed73eda1a435f76c23e0c23e95307 (diff)
feat: check required form revision rangedatabase-migration
Diffstat (limited to 'src/main/java/dev/dnpm/oshelper/migration/MigrationUtils.java')
-rw-r--r--src/main/java/dev/dnpm/oshelper/migration/MigrationUtils.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/main/java/dev/dnpm/oshelper/migration/MigrationUtils.java b/src/main/java/dev/dnpm/oshelper/migration/MigrationUtils.java
index bde2612..fd17f22 100644
--- a/src/main/java/dev/dnpm/oshelper/migration/MigrationUtils.java
+++ b/src/main/java/dev/dnpm/oshelper/migration/MigrationUtils.java
@@ -24,6 +24,7 @@ import java.util.List;
import java.util.stream.Collectors;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.ResourcePatternResolver;
+import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
/**
@@ -39,6 +40,19 @@ class MigrationUtils {
(rs, rowNum) -> rs.getString("update_script"));
}
+ static boolean requiredFormRevisionAvailable(
+ JdbcTemplate jdbcTemplate, String formName, String minRev, String maxRev) {
+ try {
+ return 1
+ == jdbcTemplate.queryForObject(
+ "SELECT COUNT(*) FROM data_form WHERE name = ? AND revision >= ? AND revision <= ?",
+ new Object[] {formName, minRev, maxRev},
+ Integer.class);
+ } catch (EmptyResultDataAccessException e) {
+ return false;
+ }
+ }
+
static List<String> getDatabaseMigrationScripts(ResourcePatternResolver resourcePatternResolver)
throws IOException {
var resources =