This commit is contained in:
onysd 2026-07-18 10:33:17 +03:00
parent 6b29556ef8
commit 8875cd33fd
14 changed files with 136 additions and 4 deletions

25
deploy/deploy_test.go Normal file
View file

@ -0,0 +1,25 @@
package deploy
import (
"testing"
"github.com/golang-migrate/migrate/v4/source/iofs"
)
// TestMigrationsLoad asserts the embedded migrations directory parses
// cleanly with no database connection involved. Two independently-added
// migrations landing on the same version (e.g. an upstream sync and a local
// feature branch both picking "next free sequential number" at merge-base
// time) don't show up as a git conflict — they're different files — so iofs
// only catches it at load time, and previously that meant "at server
// startup," crashing telesrv with "postgres migrate: iofs source: failed to
// init driver ... duplicate migration file." This is why our own migrations
// use a YYYYMMDDHHMMSS timestamp version instead of continuing upstream's
// plain sequential numbering (see deploy/migrations/README.md): a 14-digit
// timestamp never collides with upstream's numbers and always sorts after
// them, no renumbering needed on the next sync.
func TestMigrationsLoad(t *testing.T) {
if _, err := iofs.New(Migrations, "migrations"); err != nil {
t.Fatalf("iofs.New(migrations): %v", err)
}
}