From 9b10d74ab8029410cf63ac3c4c0405d0aa01fd50 Mon Sep 17 00:00:00 2001 From: pascal Date: Fri, 24 Apr 2026 15:50:49 +0200 Subject: [PATCH] copy zones and records for testing --- management/server/store/sql_store.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/management/server/store/sql_store.go b/management/server/store/sql_store.go index 918e20bea..ee180c8ac 100644 --- a/management/server/store/sql_store.go +++ b/management/server/store/sql_store.go @@ -2917,6 +2917,10 @@ func NewPostgresqlStoreFromSqlStore(ctx context.Context, sqliteStore *SqlStore, } } + if err = copyZonesAndRecords(sqliteStore, store); err != nil { + return nil, err + } + return store, nil } @@ -2983,9 +2987,28 @@ func NewMysqlStoreFromSqlStore(ctx context.Context, sqliteStore *SqlStore, dsn s } } + if err = copyZonesAndRecords(sqliteStore, store); err != nil { + return nil, err + } + return store, nil } +func copyZonesAndRecords(src, dst *SqlStore) error { + var srcZones []*zones.Zone + if err := src.db.Preload("Records").Find(&srcZones).Error; err != nil { + return fmt.Errorf("failed to read zones from source store: %w", err) + } + + for _, zone := range srcZones { + if err := dst.db.Create(zone).Error; err != nil { + return fmt.Errorf("failed to copy zone %s: %w", zone.ID, err) + } + } + + return nil +} + func (s *SqlStore) GetSetupKeyBySecret(ctx context.Context, lockStrength LockingStrength, key string) (*types.SetupKey, error) { tx := s.db if lockStrength != LockingStrengthNone {