feat: move zjazd tags to the material's meeting

The one-way migration 20261108140000_move_zjazd_tags_to_meetings gives
every material tagged zjazd-N without a meeting meeting N (the lowest
when it has several), never overwrites a meeting_id, logs tags naming a
missing meeting or disagreeing with meeting_id at Warn, and deletes the
exact zjazd-N tags; their links go through ON DELETE CASCADE. Rollback
is a no-op: the backup is the pg_dump taken before migrate.
This commit is contained in:
Jakub Zych
2026-11-08 20:29:31 +01:00
parent f841e8ed71
commit 7cea8ab318
5 changed files with 320 additions and 2 deletions

View File

@@ -79,8 +79,8 @@ func TestPluginActivates(t *testing.T) {
if n := len(p.Models()); n != 14 {
t.Errorf("Models = %d, want 14", n)
}
if n := len(p.Migrations()); n != 20 {
t.Errorf("Migrations = %d, want 20", n)
if n := len(p.Migrations()); n != 21 {
t.Errorf("Migrations = %d, want 21", n)
}
if !slices.ContainsFunc(p.Commands(), func(c bonfire.Command) bool { return c.Name == "bm:seed" }) {
t.Error("bm:seed is not registered")