From 3bf33999e41d0603a339d39b0dfc62023acc22bd Mon Sep 17 00:00:00 2001 From: Infendro Date: Thu, 2 Oct 2025 11:06:48 +0200 Subject: [PATCH] add exceptions --- src/main/kotlin/com/infendro/migration/Migration.kt | 5 +++++ .../migration/exception/DuplicateMigrationException.kt | 5 +++++ 2 files changed, 10 insertions(+) create mode 100644 src/main/kotlin/com/infendro/migration/exception/DuplicateMigrationException.kt diff --git a/src/main/kotlin/com/infendro/migration/Migration.kt b/src/main/kotlin/com/infendro/migration/Migration.kt index f965fa5..b89aca1 100644 --- a/src/main/kotlin/com/infendro/migration/Migration.kt +++ b/src/main/kotlin/com/infendro/migration/Migration.kt @@ -1,5 +1,6 @@ package com.infendro.migration +import com.infendro.migration.exception.DuplicateMigrationException import com.infendro.migration.model.MigrationRepository import com.infendro.migration.model.MigrationTable import org.jetbrains.exposed.sql.SchemaUtils @@ -53,6 +54,10 @@ class Config { name: String, migrate: Transaction.() -> Unit, ) { + if (migrations.any { it.name == name }) { + throw DuplicateMigrationException(name) + } + migrations += Migration(name, migrate) } diff --git a/src/main/kotlin/com/infendro/migration/exception/DuplicateMigrationException.kt b/src/main/kotlin/com/infendro/migration/exception/DuplicateMigrationException.kt new file mode 100644 index 0000000..b8ba5c4 --- /dev/null +++ b/src/main/kotlin/com/infendro/migration/exception/DuplicateMigrationException.kt @@ -0,0 +1,5 @@ +package com.infendro.migration.exception + +class DuplicateMigrationException( + val name: String, +) : Exception()