From b42eec78a59d6a770a516d24318224a5e56cd033 Mon Sep 17 00:00:00 2001 From: Jhoni Conzatti Date: Thu, 26 Feb 2026 08:26:45 -0300 Subject: [PATCH] fix migrator add shouldn't add same migration more than once --- migrations/migrator.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/migrations/migrator.go b/migrations/migrator.go index 26b650d..c0a5bf8 100644 --- a/migrations/migrator.go +++ b/migrations/migrator.go @@ -3,6 +3,8 @@ package migrations import ( "fmt" "reflect" + "slices" + "strings" "time" "github.com/ordershift/ormshift" @@ -50,7 +52,14 @@ func failedToMigrate(err error) error { } func (m *Migrator) Add(migration Migration) { - m.migrations = append(m.migrations, migration) + migrationName := reflect.TypeOf(migration).Name() + contains := slices.ContainsFunc(m.migrations, func(m Migration) bool { + name := reflect.TypeOf(m).Name() + return strings.EqualFold(migrationName, name) + }) + if !contains { + m.migrations = append(m.migrations, migration) + } } func (m *Migrator) ApplyAllMigrations() error {